<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <base data-ice="baseUrl" href="../../../../../">
  <title data-ice="title">SceneModel | xeokit-sdk</title>
  <link type="text/css" rel="stylesheet" href="css/style.css">
  <link type="text/css" rel="stylesheet" href="css/prettify-tomorrow.css">
  <script src="script/prettify/prettify.js"></script>
  <script src="script/manual.js"></script>
<meta name="description" content="3D engineering graphics in the browser"><meta property="og:type" content="website"><meta property="og:url" content="http://xeokit.io"><meta property="og:site_name" content="xeokit-sdk"><meta property="og:title" content="xeokit-sdk"><meta property="og:image" content="./images/logo.jpg"><meta property="og:description" content="3D engineering graphics in the browser"><meta property="og:author" content="http://xeolabs.com"><meta property="twitter:card" content="summary"><meta property="twitter:title" content="xeokit-sdk"><meta property="twitter:description" content="3D engineering graphics in the browser"><meta property="twitter:image" content="./images/logo.jpg"></head>
<body class="layout-container" data-ice="rootContainer">

<header>
  <a href="./" style="display: flex; align-items: center;"><img src="./image/brand_logo.jpg" style="width:34px;"></a>
  
  <a href="identifiers.html">Reference</a>
  <a href="source.html">Source</a>
  
  <div class="search-box">
  <span>
    <img src="./image/search.png">
    <span class="search-input-edge"></span><input class="search-input"><span class="search-input-edge"></span>
  </span>
    <ul class="search-result"></ul>
  </div>
<a style="position:relative; top:3px;" href="https://github.com/xeokit/xeokit-sdk"><img width="20px" src="./image/github.png"></a></header>

<nav class="navigation" data-ice="nav"><div>
  <ul>
    
  <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-contextmenu">extras/ContextMenu</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/ContextMenu/ContextMenu.js~ContextMenu.html">ContextMenu</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-marqueepicker">extras/MarqueePicker</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/MarqueePicker/MarqueePicker.js~MarqueePicker.html">MarqueePicker</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/MarqueePicker/MarqueePickerMouseControl.js~MarqueePickerMouseControl.html">MarqueePickerMouseControl</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-pointercircle">extras/PointerCircle</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/PointerCircle/PointerCircle.js~PointerCircle.html">PointerCircle</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-pointerlens">extras/PointerLens</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/PointerLens/PointerLens.js~PointerLens.html">PointerLens</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-skybox">extras/Skybox</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createCombinedTexture">createCombinedTexture</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createSkyboxMesh">createSkyboxMesh</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-spheremap">extras/SphereMap</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-createSphereMapMesh">createSphereMapMesh</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#extras-collision">extras/collision</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/extras/collision/ObjectsKdTree3.js~ObjectsKdTree3.html">ObjectsKdTree3</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-anglemeasurementsplugin">plugins/AngleMeasurementsPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/AngleMeasurement.js~AngleMeasurement.html">AngleMeasurement</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsMouseControl.js~AngleMeasurementsMouseControl.html">AngleMeasurementsMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsPlugin.js~AngleMeasurementsPlugin.html">AngleMeasurementsPlugin</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsTouchControl.js~AngleMeasurementsTouchControl.html">AngleMeasurementsTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/index.js~AngleMeasurementEditControl.html">AngleMeasurementEditControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/index.js~AngleMeasurementEditMouseControl.html">AngleMeasurementEditMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/index.js~AngleMeasurementEditTouchControl.html">AngleMeasurementEditTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsControl.js~AngleMeasurementsControl.html">AngleMeasurementsControl</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-annotationsplugin">plugins/AnnotationsPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AnnotationsPlugin/Annotation.js~Annotation.html">Annotation</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AnnotationsPlugin/AnnotationsPlugin.js~AnnotationsPlugin.html">AnnotationsPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-axisgizmoplugin">plugins/AxisGizmoPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/AxisGizmoPlugin/AxisGizmoPlugin.js~AxisGizmoPlugin.html">AxisGizmoPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-bcfviewpointsplugin">plugins/BCFViewpointsPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/BCFViewpointsPlugin/BCFViewpointsPlugin.js~BCFViewpointsPlugin.html">BCFViewpointsPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-cityjsonloaderplugin">plugins/CityJSONLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/CityJSONLoaderPlugin/CityJSONDefaultDataSource.js~CityJSONDefaultDataSource.html">CityJSONDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/CityJSONLoaderPlugin/CityJSONLoaderPlugin.js~CityJSONLoaderPlugin.html">CityJSONLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-cxconverterifcloaderplugin">plugins/CxConverterIFCLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/CxConverterIFCLoaderPlugin/CxConverterIFCLoaderPlugin.js~CxConverterIFCLoaderPlugin.html">CxConverterIFCLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-distancemeasurementsplugin">plugins/DistanceMeasurementsPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurement.js~DistanceMeasurement.html">DistanceMeasurement</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsMouseControl.js~DistanceMeasurementsMouseControl.html">DistanceMeasurementsMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsPlugin.js~DistanceMeasurementsPlugin.html">DistanceMeasurementsPlugin</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsTouchControl.js~DistanceMeasurementsTouchControl.html">DistanceMeasurementsTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/index.js~DistanceMeasurementEditControl.html">DistanceMeasurementEditControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/index.js~DistanceMeasurementEditMouseControl.html">DistanceMeasurementEditMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/index.js~DistanceMeasurementEditTouchControl.html">DistanceMeasurementEditTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsControl.js~DistanceMeasurementsControl.html">DistanceMeasurementsControl</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-dotbimloaderplugin">plugins/DotBIMLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DotBIMLoaderPlugin/DotBIMDefaultDataSource.js~DotBIMDefaultDataSource.html">DotBIMDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/DotBIMLoaderPlugin/DotBIMLoaderPlugin.js~DotBIMLoaderPlugin.html">DotBIMLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-facealignedsectionplanesplugin">plugins/FaceAlignedSectionPlanesPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesControl.js~FaceAlignedSectionPlanesControl.html">FaceAlignedSectionPlanesControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesPlugin.js~FaceAlignedSectionPlanesPlugin.html">FaceAlignedSectionPlanesPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-fastnavplugin">plugins/FastNavPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/FastNavPlugin/FastNavPlugin.js~FastNavPlugin.html">FastNavPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-gltfloaderplugin">plugins/GLTFLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/GLTFLoaderPlugin/GLTFDefaultDataSource.js~GLTFDefaultDataSource.html">GLTFDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/GLTFLoaderPlugin/GLTFLoaderPlugin.js~GLTFLoaderPlugin.html">GLTFLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-lasloaderplugin">plugins/LASLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/LASLoaderPlugin/LASDefaultDataSource.js~LASDefaultDataSource.html">LASDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/LASLoaderPlugin/LASLoaderPlugin.js~LASLoaderPlugin.html">LASLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-navcubeplugin">plugins/NavCubePlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/NavCubePlugin/NavCubePlugin.js~NavCubePlugin.html">NavCubePlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-objloaderplugin">plugins/OBJLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/OBJLoaderPlugin/OBJLoaderPlugin.js~OBJLoaderPlugin.html">OBJLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-stlloaderplugin">plugins/STLLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/STLLoaderPlugin/STLDefaultDataSource.js~STLDefaultDataSource.html">STLDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/STLLoaderPlugin/STLLoaderPlugin.js~STLLoaderPlugin.html">STLLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-sectionplanesplugin">plugins/SectionPlanesPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/SectionPlanesPlugin/SectionPlanesPlugin.js~SectionPlanesPlugin.html">SectionPlanesPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-storeyviewsplugin">plugins/StoreyViewsPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/StoreyViewsPlugin/Storey.js~Storey.html">Storey</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/StoreyViewsPlugin/StoreyMap.js~StoreyMap.html">StoreyMap</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/StoreyViewsPlugin/StoreyViewsPlugin.js~StoreyViewsPlugin.html">StoreyViewsPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-treeviewplugin">plugins/TreeViewPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/TreeViewPlugin/RenderService.js~RenderService.html">RenderService</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/plugins/TreeViewPlugin/TreeViewNode.js~TreeViewNode.html">TreeViewNode</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-viewcullplugin">plugins/ViewCullPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ViewCullPlugin/ViewCullPlugin.js~ViewCullPlugin.html">ViewCullPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-webifcloaderplugin">plugins/WebIFCLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/WebIFCLoaderPlugin/WebIFCDefaultDataSource.js~WebIFCDefaultDataSource.html">WebIFCDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/WebIFCLoaderPlugin/WebIFCLoaderPlugin.js~WebIFCLoaderPlugin.html">WebIFCLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-xktloaderplugin">plugins/XKTLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/XKTLoaderPlugin/XKTDefaultDataSource.js~XKTDefaultDataSource.html">XKTDefaultDataSource</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js~XKTLoaderPlugin.html">XKTLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-xml3dloaderplugin">plugins/XML3DLoaderPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/XML3DLoaderPlugin/XML3DLoaderPlugin.js~XML3DLoaderPlugin.html">XML3DLoaderPlugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-zonesplugin">plugins/ZonesPlugin</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneEditControl.html">ZoneEditControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneEditMouseControl.html">ZoneEditMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneEditTouchControl.html">ZoneEditTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneTranslateControl.html">ZoneTranslateControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneTranslateMouseControl.html">ZoneTranslateMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZoneTranslateTouchControl.html">ZoneTranslateTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesAAZoneControl.html">ZonesAAZoneControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesMouseControl.html">ZonesMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesPlugin.html">ZonesPlugin</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesPolysurfaceMouseControl.html">ZonesPolysurfaceMouseControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesPolysurfaceTouchControl.html">ZonesPolysurfaceTouchControl</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/ZonesPlugin/ZonesPlugin.js~ZonesTouchControl.html">ZonesTouchControl</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-lib-html">plugins/lib/html</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addContextMenuListener">addContextMenuListener</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#plugins-lib-ui">plugins/lib/ui</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/lib/ui/index.js~Dot3D.html">Dot3D</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/lib/ui/index.js~Label3D.html">Label3D</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/plugins/lib/ui/index.js~Wire3D.html">Wire3D</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-activateDraggableDot">activateDraggableDot</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-activateDraggableDots">activateDraggableDots</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addMousePressListener">addMousePressListener</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-addTouchPressListener">addTouchPressListener</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-marker3D">marker3D</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-startPolygonCreate">startPolygonCreate</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-touchPointSelector">touchPointSelector</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-transformToNode">transformToNode</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-triangulateEarClipping">triangulateEarClipping</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-wire3D">wire3D</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer">viewer</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/Configs.js~Configs.html">Configs</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/Plugin.js~Plugin.html">Plugin</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-localization">viewer/localization</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/localization/LocaleService.js~LocaleService.html">LocaleService</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-metadata">viewer/metadata</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/metadata/MetaModel.js~MetaModel.html">MetaModel</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/metadata/MetaObject.js~MetaObject.html">MetaObject</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/metadata/MetaScene.js~MetaScene.html">MetaScene</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/metadata/Property.js~Property.html">Property</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/metadata/PropertySet.js~PropertySet.html">PropertySet</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-IFCObjectDefaultColors">IFCObjectDefaultColors</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-IFCObjectDefaults">IFCObjectDefaults</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene">viewer/scene</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-stats">stats</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-bitmap">viewer/scene/Bitmap</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/Bitmap/Bitmap.js~Bitmap.html">Bitmap</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-imageplane">viewer/scene/ImagePlane</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/ImagePlane/ImagePlane.js~ImagePlane.html">ImagePlane</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-lineset">viewer/scene/LineSet</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/LineSet/LineSet.js~LineSet.html">LineSet</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-camera">viewer/scene/camera</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/Camera.js~Camera.html">Camera</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/CameraFlightAnimation.js~CameraFlightAnimation.html">CameraFlightAnimation</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/CameraPath.js~CameraPath.html">CameraPath</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/CameraPathAnimation.js~CameraPathAnimation.html">CameraPathAnimation</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/CustomProjection.js~CustomProjection.html">CustomProjection</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/Frustum.js~Frustum.html">Frustum</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/Ortho.js~Ortho.html">Ortho</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/camera/Perspective.js~Perspective.html">Perspective</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-canvas">viewer/scene/canvas</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/canvas/Canvas.js~Canvas.html">Canvas</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/canvas/Spinner.js~Spinner.html">Spinner</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-constants">viewer/scene/constants</a><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-AlphaFormat">AlphaFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-ByteType">ByteType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-ClampToEdgeWrapping">ClampToEdgeWrapping</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-CompressedMediaType">CompressedMediaType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-DepthFormat">DepthFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-DepthStencilFormat">DepthStencilFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-FloatType">FloatType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-GIFMediaType">GIFMediaType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-HalfFloatType">HalfFloatType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-IntType">IntType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-JPEGMediaType">JPEGMediaType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearEncoding">LinearEncoding</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearFilter">LinearFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearMipMapLinearFilter">LinearMipMapLinearFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearMipMapNearestFilter">LinearMipMapNearestFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearMipmapLinearFilter">LinearMipmapLinearFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LinearMipmapNearestFilter">LinearMipmapNearestFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LuminanceAlphaFormat">LuminanceAlphaFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-LuminanceFormat">LuminanceFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-MirroredRepeatWrapping">MirroredRepeatWrapping</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NearestFilter">NearestFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NearestMipMapLinearFilter">NearestMipMapLinearFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NearestMipMapNearestFilter">NearestMipMapNearestFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NearestMipmapLinearFilter">NearestMipmapLinearFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-NearestMipmapNearestFilter">NearestMipmapNearestFilter</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-PNGMediaType">PNGMediaType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBAFormat">RGBAFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBAIntegerFormat">RGBAIntegerFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_10x10_Format">RGBA_ASTC_10x10_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_10x5_Format">RGBA_ASTC_10x5_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_10x6_Format">RGBA_ASTC_10x6_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_10x8_Format">RGBA_ASTC_10x8_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_12x10_Format">RGBA_ASTC_12x10_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_12x12_Format">RGBA_ASTC_12x12_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_4x4_Format">RGBA_ASTC_4x4_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_5x4_Format">RGBA_ASTC_5x4_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_5x5_Format">RGBA_ASTC_5x5_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_6x5_Format">RGBA_ASTC_6x5_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_6x6_Format">RGBA_ASTC_6x6_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_8x5_Format">RGBA_ASTC_8x5_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_8x6_Format">RGBA_ASTC_8x6_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ASTC_8x8_Format">RGBA_ASTC_8x8_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_BPTC_Format">RGBA_BPTC_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_ETC2_EAC_Format">RGBA_ETC2_EAC_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_PVRTC_2BPPV1_Format">RGBA_PVRTC_2BPPV1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_PVRTC_4BPPV1_Format">RGBA_PVRTC_4BPPV1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_S3TC_DXT1_Format">RGBA_S3TC_DXT1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_S3TC_DXT3_Format">RGBA_S3TC_DXT3_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBA_S3TC_DXT5_Format">RGBA_S3TC_DXT5_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGBFormat">RGBFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGB_ETC1_Format">RGB_ETC1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGB_ETC2_Format">RGB_ETC2_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGB_PVRTC_2BPPV1_Format">RGB_PVRTC_2BPPV1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGB_PVRTC_4BPPV1_Format">RGB_PVRTC_4BPPV1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGB_S3TC_DXT1_Format">RGB_S3TC_DXT1_Format</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGFormat">RGFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RGIntegerFormat">RGIntegerFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RedFormat">RedFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RedIntegerFormat">RedIntegerFormat</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-RepeatWrapping">RepeatWrapping</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-ShortType">ShortType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedByteType">UnsignedByteType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedInt248Type">UnsignedInt248Type</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedIntType">UnsignedIntType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedShort4444Type">UnsignedShort4444Type</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedShort5551Type">UnsignedShort5551Type</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-UnsignedShortType">UnsignedShortType</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-sRGBEncoding">sRGBEncoding</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-geometry">viewer/scene/geometry</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/geometry/Geometry.js~Geometry.html">Geometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/geometry/ReadableGeometry.js~ReadableGeometry.html">ReadableGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/geometry/VBOGeometry.js~VBOGeometry.html">VBOGeometry</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-geometry-builders">viewer/scene/geometry/builders</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildBoxGeometry">buildBoxGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildBoxLinesGeometry">buildBoxLinesGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildBoxLinesGeometryFromAABB">buildBoxLinesGeometryFromAABB</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildCylinderGeometry">buildCylinderGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildGridGeometry">buildGridGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildLineGeometry">buildLineGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildPlaneGeometry">buildPlaneGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildPolylineGeometry">buildPolylineGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildPolylineGeometryFromCurve">buildPolylineGeometryFromCurve</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildSphereGeometry">buildSphereGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildTorusGeometry">buildTorusGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-buildVectorTextGeometry">buildVectorTextGeometry</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-geometry-loaders">viewer/scene/geometry/loaders</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-load3DSGeometry">load3DSGeometry</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-loadOBJGeometry">loadOBJGeometry</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-input">viewer/scene/input</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/input/Input.js~Input.html">Input</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-libs">viewer/scene/libs</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-deviation">deviation</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-earcut">earcut</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-flatten">flatten</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-lights">viewer/scene/lights</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/AmbientLight.js~AmbientLight.html">AmbientLight</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/CubeTexture.js~CubeTexture.html">CubeTexture</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/DirLight.js~DirLight.html">DirLight</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/Light.js~Light.html">Light</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/LightMap.js~LightMap.html">LightMap</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/PointLight.js~PointLight.html">PointLight</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/ReflectionMap.js~ReflectionMap.html">ReflectionMap</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/lights/Shadow.js~Shadow.html">Shadow</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-marker">viewer/scene/marker</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/marker/Marker.js~Marker.html">Marker</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/marker/SpriteMarker.js~SpriteMarker.html">SpriteMarker</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-materials">viewer/scene/materials</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/EdgeMaterial.js~EdgeMaterial.html">EdgeMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/EmphasisMaterial.js~EmphasisMaterial.html">EmphasisMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/Fresnel.js~Fresnel.html">Fresnel</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/LambertMaterial.js~LambertMaterial.html">LambertMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/LinesMaterial.js~LinesMaterial.html">LinesMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/Material.js~Material.html">Material</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/MetallicMaterial.js~MetallicMaterial.html">MetallicMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/PhongMaterial.js~PhongMaterial.html">PhongMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/PointsMaterial.js~PointsMaterial.html">PointsMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/SpecularMaterial.js~SpecularMaterial.html">SpecularMaterial</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/materials/Texture.js~Texture.html">Texture</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-math">viewer/scene/math</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/math/MeshSurfaceArea.js~MeshSurfaceArea.html">MeshSurfaceArea</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/math/MeshVolume.js~MeshVolume.html">MeshVolume</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-meshSurfaceArea">meshSurfaceArea</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-meshVolume">meshVolume</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-mementos">viewer/scene/mementos</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/mementos/CameraMemento.js~CameraMemento.html">CameraMemento</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/mementos/ModelMemento.js~ModelMemento.html">ModelMemento</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/mementos/ObjectsMemento.js~ObjectsMemento.html">ObjectsMemento</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-mesh">viewer/scene/mesh</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-mesh-draw">viewer/scene/mesh/draw</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-DrawShaderSource">DrawShaderSource</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-metriqs">viewer/scene/metriqs</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/metriqs/Metriqs.js~Metrics.html">Metrics</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-model">viewer/scene/model</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/PerformanceModel.js~PerformanceModel.html">PerformanceModel</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html">SceneModel</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModelTexture.js~SceneModelTexture.html">SceneModelTexture</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModelTextureSet.js~SceneModelTextureSet.html">SceneModelTextureSet</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/model/VBOSceneModel.js~VBOSceneModel.html">VBOSceneModel</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-uniquifyPositions">uniquifyPositions</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-rebucketPositions">rebucketPositions</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-model-dtx-lines">viewer/scene/model/dtx/lines</a><span data-ice="kind" class="kind-function">F</span><span data-ice="name"><span><a href="function/index.html#static-function-rebucketPositions">rebucketPositions</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-dataTextureRamStats">dataTextureRamStats</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-model-dtx-triangles-lib">viewer/scene/model/dtx/triangles/lib</a><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-dataTextureRamStats">dataTextureRamStats</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-nodes">viewer/scene/nodes</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/nodes/Node.js~Node.html">Node</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-paths">viewer/scene/paths</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/paths/CubicBezierCurve.js~CubicBezierCurve.html">CubicBezierCurve</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/paths/Curve.js~Curve.html">Curve</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/paths/Path.js~Path.html">Path</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/paths/QuadraticBezierCurve.js~QuadraticBezierCurve.html">QuadraticBezierCurve</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/paths/SplineCurve.js~SplineCurve.html">SplineCurve</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-postfx">viewer/scene/postfx</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/postfx/CrossSections.js~CrossSections.html">CrossSections</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/postfx/SAO.js~SAO.html">SAO</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-scene">viewer/scene/scene</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-sectioncaps">viewer/scene/sectionCaps</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/sectionCaps/SectionCaps.js~SectionCaps.html">SectionCaps</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-sectionplane">viewer/scene/sectionPlane</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/sectionPlane/SectionPlane.js~SectionPlane.html">SectionPlane</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/sectionPlane/SectionPlaneCache.js~SectionPlaneCache.html">SectionPlaneCache</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-utils">viewer/scene/utils</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/FileLoader.js~FileLoader.html">FileLoader</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/Loader.js~Loader.html">Loader</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/LoadingManager.js~LoadingManager.html">LoadingManager</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/WorkerPool.js~WorkerPool.html">WorkerPool</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-Cache">Cache</a></span></span></li>
<li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-DefaultLoadingManager">DefaultLoadingManager</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-utils-texturetranscoders">viewer/scene/utils/textureTranscoders</a><span data-ice="kind" class="kind-interface">I</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/textureTranscoders/TextureTranscoder.js~TextureTranscoder.html">TextureTranscoder</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-utils-texturetranscoders-ktx2texturetranscoder">viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js~KTX2TextureTranscoder.html">KTX2TextureTranscoder</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-viewport">viewer/scene/viewport</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/viewport/Viewport.js~Viewport.html">Viewport</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-scene-webgl">viewer/scene/webgl</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/viewer/scene/webgl/PickResult.js~PickResult.html">PickResult</a></span></span></li>
<li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#viewer-utils">viewer/utils</a><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-os">os</a></span></span></li>
</ul>
</div>
</nav>

<div class="content" data-ice="content"><div class="header-notice">
  <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import {SceneModel} from &apos;<span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1082">@xeokit/xeokit-sdk/src/viewer/scene/model/SceneModel.js</a></span>&apos;</code></pre></div>
  <span data-ice="access">public</span>
  <span data-ice="kind">class</span>
  
  
  
  <span data-ice="source">| <span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1082">source</a></span></span>
</div>

<div class="self-detail detail">
  <h1 data-ice="name">SceneModel</h1>

  

  
  
  <div class="flat-list" data-ice="extendsChain"><h4>Extends:</h4><div><span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span> &#x2192; SceneModel</div></div>
  <div class="flat-list" data-ice="directSubclass"><h4>Direct Subclass:</h4><div><span><a href="class/src/viewer/scene/model/PerformanceModel.js~PerformanceModel.html">PerformanceModel</a></span>, <span><a href="class/src/viewer/scene/model/VBOSceneModel.js~VBOSceneModel.html">VBOSceneModel</a></span></div></div>
  
  <div class="flat-list" data-ice="implements"><h4>Implements:</h4><ul><li><span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span></li></ul></div>
  
  
  

  
  
  <div class="description" data-ice="description"><p>A high-performance model representation for efficient rendering and low memory usage.</p>
<h1 id="examples">Examples</h1><p>Internally, SceneModel uses a combination of several different techniques to render and represent
the different parts of a typical model. Each of the live examples at these links is designed to &quot;unit test&quot; one of these
techniques, in isolation. If some bug occurs in SceneModel, we use these tests to debug, but they also
serve to demonstrate how to use the capabilities of SceneModel programmatically.</p>
<ul>
<li><a href="/examples/buildings">Loading building models into SceneModels</a></li>
<li><a href="/examples/cities">Loading city models into SceneModels</a></li>
<li><a href="/examples/lidar">Loading LiDAR scans into SceneModels</a></li>
<li><a href="/examples/cad">Loading CAD models into SceneModels</a></li>
<li><a href="/examples/scenemodel">SceneModel feature tests</a></li>
</ul>
<h1 id="overview">Overview</h1><p>While xeokit&apos;s standard <a href="https://github.com/xeokit/xeokit-sdk/wiki/Scene-Graphs">scene graph</a> is great for gizmos and medium-sized models, it doesn&apos;t scale up to millions of objects in terms of memory and rendering efficiency.</p>
<p>For huge models, we have the <code>SceneModel</code> representation, which is optimized to pack large amounts of geometry into memory and render it efficiently using WebGL.</p>
<p><code>SceneModel</code> is the default model representation loaded by  (at least) <span><a href="class/src/plugins/GLTFLoaderPlugin/GLTFLoaderPlugin.js~GLTFLoaderPlugin.html">GLTFLoaderPlugin</a></span>, <span><a href="class/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js~XKTLoaderPlugin.html">XKTLoaderPlugin</a></span> and  <span><a href="class/src/plugins/WebIFCLoaderPlugin/WebIFCLoaderPlugin.js~WebIFCLoaderPlugin.html">WebIFCLoaderPlugin</a></span>.</p>
<p>In this tutorial you&apos;ll learn how to use <code>SceneModel</code> to create high-detail content programmatically. Ordinarily you&apos;d be learning about <code>SceneModel</code> if you were writing your own model loader plugins.</p>
<h1 id="contents">Contents</h1><ul>
<li><a href="#DataTextureSceneModel">SceneModel</a></li>
<li><a href="#gpu-resident-geometry">GPU-Resident Geometry</a></li>
<li><a href="#picking">Picking</a></li>
<li><a href="#example-1--geometry-instancing">Example 1: Geometry Instancing</a></li>
<li><a href="#finalizing-a-DataTextureSceneModel">Finalizing a SceneModel</a></li>
<li><a href="#finding-entities">Finding Entities</a></li>
<li><a href="#example-2--geometry-batching">Example 2: Geometry Batching</a></li>
<li><a href="#classifying-with-metadata">Classifying with Metadata</a></li>
<li><a href="#querying-metadata">Querying Metadata</a></li>
<li><a href="#metadata-structure">Metadata Structure</a></li>
<li><a href="#rtc-coordinates-for-double-precision">RTC Coordinates</a><ul>
<li><a href="#example-2--rtc-coordinates-with-geometry-instancing">Example 3: RTC Coordinates with Geometry Instancing</a></li>
<li><a href="#example-2--rtc-coordinates-with-geometry-batching">Example 4: RTC Coordinates with Geometry Batching</a></li>
</ul>
</li>
</ul>
<h2 id="scenemodel">SceneModel</h2><p><code>SceneModel</code> uses two rendering techniques internally:</p>
<ol>
<li><strong><em>Geometry batching</em></strong> for unique geometries, combining those into a single WebGL geometry buffer, to render in one draw call, and</li>
<li><strong><em>geometry instancing</em></strong> for geometries that are shared by multiple meshes, rendering all instances of each shared geometry in one draw call.</li>
</ol>
<p><br>
These techniques come with certain limitations:</p>
<ul>
<li>Non-realistic rendering - while scene graphs can use xeokit&apos;s full set of material workflows, <code>SceneModel</code> uses simple Lambertian shading without textures.</li>
<li>Static transforms - transforms within a <code>SceneModel</code> are static and cannot be dynamically translated, rotated and scaled the way <span><a href="class/src/viewer/scene/nodes/Node.js~Node.html">Node</a></span>s and <span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span>es in scene graphs can.</li>
<li>Immutable model representation - while scene graph <span><a href="class/src/viewer/scene/nodes/Node.js~Node.html">Node</a></span>s and
<span><a href="class/src/viewer/scene/mesh/Mesh.js~Mesh.html">Mesh</a></span>es can be dynamically plugged together, <code>SceneModel</code> is immutable,
since it packs its geometries into buffers and instanced arrays.</li>
</ul>
<p><code>SceneModel</code>&apos;s API allows us to exploit batching and instancing, while exposing its elements as
abstract <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span> types.</p>
<p><span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span> is the abstract base class for
the various xeokit components that represent models, objects, or anonymous visible elements. An Entity has a unique ID and can be
individually shown, hidden, selected, highlighted, ghosted, culled, picked and clipped, and has its own World-space boundary.</p>
<ul>
<li>A <code>SceneModel</code> is an <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span> that represents a model.</li>
<li>A <code>SceneModel</code> represents each of its objects with an <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span>.</li>
<li>Each <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span> has one or more meshes that define its shape.</li>
<li>Each mesh has either its own unique geometry, or shares a geometry with other meshes.</li>
</ul>
<h2 id="gpu-resident-geometry">GPU-Resident Geometry</h2><p>For a low memory footprint, <code>SceneModel</code> stores its geometries in GPU memory only, compressed (quantized) as integers. Unfortunately, GPU-resident geometry is
not readable by JavaScript.</p>
<h2 id="example-1--geometry-instancing">Example 1: Geometry Instancing</h2><p>In the example below, we&apos;ll use a <code>SceneModel</code>
to build a simple table model using geometry instancing.</p>
<p>We&apos;ll start by adding a reusable box-shaped geometry to our <code>SceneModel</code>.</p>
<p>Then, for each object in our model we&apos;ll add an <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span>
that has a mesh that instances our box geometry, transforming and coloring the instance.</p>
<p><a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#sceneRepresentation_SceneModel_instancing"><img src="http://xeokit.io/img/docs/sceneGraph.png" alt></a></p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">import {Viewer, SceneModel} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
    canvasId: &quot;myCanvas&quot;,
    transparent: true
});

viewer.scene.camera.eye = [-21.80, 4.01, 6.56];
viewer.scene.camera.look = [0, -5.75, 0];
viewer.scene.camera.up = [0.37, 0.91, -0.11];

// Build a SceneModel representing a table
// with four legs, using geometry instancing

const sceneModel = new SceneModel(viewer.scene, {
    id: &quot;table&quot;,
    isModel: true, // &lt;--- Registers SceneModel in viewer.scene.models
    position: [0, 0, 0],
    scale: [1, 1, 1],
    rotation: [0, 0, 0]
});

// Create a reusable geometry within the SceneModel
// We&apos;ll instance this geometry by five meshes

sceneModel.createGeometry({

    id: &quot;myBoxGeometry&quot;,

    // The primitive type - allowed values are &quot;points&quot;, &quot;lines&quot; and &quot;triangles&quot;.
    // See the OpenGL/WebGL specification docs
    // for how the coordinate arrays are supposed to be laid out.
    primitive: &quot;triangles&quot;,

    // The vertices - eight for our cube, each
    // one spanning three array elements for X,Y and Z
    positions: [
         1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1, // v0-v1-v2-v3 front
         1, 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, // v0-v3-v4-v1 right
         1, 1, 1, 1, 1, -1, -1, 1, -1, -1, 1, 1, // v0-v1-v6-v1 top
         -1, 1, 1, -1, 1, -1, -1, -1, -1, -1, -1, 1, // v1-v6-v7-v2 left
         -1, -1, -1, 1, -1, -1, 1, -1, 1, -1, -1, 1, // v7-v4-v3-v2 bottom
         1, -1, -1, -1, -1, -1, -1, 1, -1, 1, 1, -1 // v4-v7-v6-v1 back
    ],

    // Normal vectors, one for each vertex
    normals: [
        0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, // v0-v1-v2-v3 front
        1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, // v0-v3-v4-v5 right
        0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, // v0-v5-v6-v1 top
        -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, // v1-v6-v7-v2 left
        0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1, 0, // v7-v4-v3-v2 bottom
        0, 0, -1, 0, 0, -1, 0, 0, -1, 0, 0, -1 // v4-v7-v6-v5 back
    ],

    // Indices - these organise the positions and and normals
    // into geometric primitives in accordance with the &quot;primitive&quot; parameter,
    // in this case a set of three indices for each triangle.
    //
    // Note that each triangle is specified in counter-clockwise winding order.
    //
    indices: [
        0, 1, 2, 0, 2, 3, // front
        4, 5, 6, 4, 6, 7, // right
        8, 9, 10, 8, 10, 11, // top
        12, 13, 14, 12, 14, 15, // left
        16, 17, 18, 16, 18, 19, // bottom
        20, 21, 22, 20, 22, 23
    ]
});

// Red table leg

sceneModel.createMesh({
    id: &quot;redLegMesh&quot;,
    geometryId: &quot;myBoxGeometry&quot;,
    position: [-4, -6, -4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [1, 0.3, 0.3]
});

sceneModel.createEntity({
    id: &quot;redLeg&quot;,
    meshIds: [&quot;redLegMesh&quot;],
    isObject: true // &lt;---- Registers Entity by ID on viewer.scene.objects
});

// Green table leg

sceneModel.createMesh({
    id: &quot;greenLegMesh&quot;,
    geometryId: &quot;myBoxGeometry&quot;,
    position: [4, -6, -4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [0.3, 1.0, 0.3]
});

sceneModel.createEntity({
    id: &quot;greenLeg&quot;,
    meshIds: [&quot;greenLegMesh&quot;],
    isObject: true // &lt;---- Registers Entity by ID on viewer.scene.objects
});

// Blue table leg

sceneModel.createMesh({
    id: &quot;blueLegMesh&quot;,
    geometryId: &quot;myBoxGeometry&quot;,
    position: [4, -6, 4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [0.3, 0.3, 1.0]
});

sceneModel.createEntity({
    id: &quot;blueLeg&quot;,
    meshIds: [&quot;blueLegMesh&quot;],
    isObject: true // &lt;---- Registers Entity by ID on viewer.scene.objects
});

// Yellow table leg

sceneModel.createMesh({
     id: &quot;yellowLegMesh&quot;,
     geometryId: &quot;myBoxGeometry&quot;,
     position: [-4, -6, 4],
     scale: [1, 3, 1],
     rotation: [0, 0, 0],
     color: [1.0, 1.0, 0.0]
});

sceneModel.createEntity({
    id: &quot;yellowLeg&quot;,
    meshIds: [&quot;yellowLegMesh&quot;],
    isObject: true // &lt;---- Registers Entity by ID on viewer.scene.objects
});

// Purple table top

sceneModel.createMesh({
    id: &quot;purpleTableTopMesh&quot;,
    geometryId: &quot;myBoxGeometry&quot;,
    position: [0, -3, 0],
    scale: [6, 0.5, 6],
    rotation: [0, 0, 0],
    color: [1.0, 0.3, 1.0]
});

sceneModel.createEntity({
    id: &quot;purpleTableTop&quot;,
    meshIds: [&quot;purpleTableTopMesh&quot;],
    isObject: true // &lt;---- Registers Entity by ID on viewer.scene.objects
});</code>
</code></pre>
<h2 id="finalizing-a-scenemodel">Finalizing a SceneModel</h2><p>Before we can view and interact with our <code>SceneModel</code>, we need to <strong>finalize</strong> it. Internally, this causes the <code>SceneModel</code> to build the
vertex buffer objects (VBOs) that support our geometry instances. When using geometry batching (see next example),
this causes <code>SceneModel</code> to build the VBOs that combine the batched geometries. Note that you can do both instancing and
batching within the same <code>SceneModel</code>.</p>
<p>Once finalized, we can&apos;t add anything more to our <code>SceneModel</code>.</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">SceneModel.finalize();</code>
</code></pre>
<h2 id="finding-entities">Finding Entities</h2><p>As mentioned earlier, <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span> is
the abstract base class for components that represent models, objects, or just
anonymous visible elements.</p>
<p>Since we created configured our <code>SceneModel</code> with <code>isModel: true</code>,
we&apos;re able to find it as an Entity by ID in <code>viewer.scene.models</code>. Likewise, since
we configured each of its Entities with <code>isObject: true</code>, we&apos;re able to
find them in  <code>viewer.scene.objects</code>.</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">// Get the whole table model Entity
const table = viewer.scene.models[&quot;table&quot;];

 // Get some leg object Entities
const redLeg = viewer.scene.objects[&quot;redLeg&quot;];
const greenLeg = viewer.scene.objects[&quot;greenLeg&quot;];
const blueLeg = viewer.scene.objects[&quot;blueLeg&quot;];</code>
</code></pre>
<h2 id="example-2--geometry-batching">Example 2: Geometry Batching</h2><p>Let&apos;s once more use a <code>SceneModel</code>
to build the simple table model, this time exploiting geometry batching.</p>
<p> <a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#sceneRepresentation_SceneModel_batching"><img src="http://xeokit.io/img/docs/sceneGraph.png" alt></a></p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">import {Viewer, SceneModel} from &quot;xeokit-sdk.es.js&quot;;

const viewer = new Viewer({
    canvasId: &quot;myCanvas&quot;,
    transparent: true
});

viewer.scene.camera.eye = [-21.80, 4.01, 6.56];
viewer.scene.camera.look = [0, -5.75, 0];
viewer.scene.camera.up = [0.37, 0.91, -0.11];

// Create a SceneModel representing a table with four legs, using geometry batching
const sceneModel = new SceneModel(viewer.scene, {
    id: &quot;table&quot;,
    isModel: true,  // &lt;--- Registers SceneModel in viewer.scene.models
    position: [0, 0, 0],
    scale: [1, 1, 1],
    rotation: [0, 0, 0]
});

// Red table leg

sceneModel.createMesh({
    id: &quot;redLegMesh&quot;,

    // Geometry arrays are same as for the earlier batching example
    primitive: &quot;triangles&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
    position: [-4, -6, -4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [1, 0.3, 0.3]
});

sceneModel.createEntity({
    id: &quot;redLeg&quot;,
    meshIds: [&quot;redLegMesh&quot;],
    isObject: true // &lt;---- Registers Entity by ID on viewer.scene.objects
});

// Green table leg

sceneModel.createMesh({
    id: &quot;greenLegMesh&quot;,
    primitive: &quot;triangles&quot;,
    primitive: &quot;triangles&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
    position: [4, -6, -4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [0.3, 1.0, 0.3]
});

sceneModel.createEntity({
    id: &quot;greenLeg&quot;,
    meshIds: [&quot;greenLegMesh&quot;],
    isObject: true // &lt;---- Registers Entity by ID on viewer.scene.objects
});

// Blue table leg

sceneModel.createMesh({
    id: &quot;blueLegMesh&quot;,
    primitive: &quot;triangles&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
    position: [4, -6, 4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [0.3, 0.3, 1.0]
});

sceneModel.createEntity({
    id: &quot;blueLeg&quot;,
    meshIds: [&quot;blueLegMesh&quot;],
    isObject: true // &lt;---- Registers Entity by ID on viewer.scene.objects
});

// Yellow table leg object

sceneModel.createMesh({
    id: &quot;yellowLegMesh&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
    position: [-4, -6, 4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [1.0, 1.0, 0.0]
});

sceneModel.createEntity({
    id: &quot;yellowLeg&quot;,
    meshIds: [&quot;yellowLegMesh&quot;],
    isObject: true // &lt;---- Registers Entity by ID on viewer.scene.objects
});

// Purple table top

sceneModel.createMesh({
    id: &quot;purpleTableTopMesh&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
    position: [0, -3, 0],
    scale: [6, 0.5, 6],
    rotation: [0, 0, 0],
    color: [1.0, 0.3, 1.0]
});

sceneModel.createEntity({
    id: &quot;purpleTableTop&quot;,
    meshIds: [&quot;purpleTableTopMesh&quot;],
    isObject: true // &lt;---- Registers Entity by ID on viewer.scene.objects
});

// Finalize the SceneModel.

SceneModel.finalize();

// Find BigModelNodes by their model and object IDs

// Get the whole table model
const table = viewer.scene.models[&quot;table&quot;];

// Get some leg objects
const redLeg = viewer.scene.objects[&quot;redLeg&quot;];
const greenLeg = viewer.scene.objects[&quot;greenLeg&quot;];
const blueLeg = viewer.scene.objects[&quot;blueLeg&quot;];</code>
</code></pre>
<h2 id="classifying-with-metadata">Classifying with Metadata</h2><p>In the previous examples, we used <code>SceneModel</code> to build
two versions of the same table model, to demonstrate geometry batching and geometry instancing.</p>
<p>We&apos;ll now classify our <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span>s with metadata. This metadata
will work the same for both our examples, since they create the exact same structure of <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span>s
to represent their models and objects. The abstract Entity type is, after all, intended to provide an abstract interface through which differently-implemented scene content can be accessed uniformly.</p>
<p>To create the metadata, we&apos;ll create a <span><a href="class/src/viewer/metadata/MetaModel.js~MetaModel.html">MetaModel</a></span> for our model,
with a <span><a href="class/src/viewer/metadata/MetaObject.js~MetaObject.html">MetaObject</a></span> for each of it&apos;s objects. The MetaModel and MetaObjects
get the same IDs as the <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span>s that represent their model and objects within our scene.</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">const furnitureMetaModel = viewer.metaScene.createMetaModel(&quot;furniture&quot;, {         // Creates a MetaModel in the MetaScene

     &quot;projectId&quot;: &quot;myTableProject&quot;,
     &quot;revisionId&quot;: &quot;V1.0&quot;,

     &quot;metaObjects&quot;: [
         {                               // Creates a MetaObject in the MetaModel
             &quot;id&quot;: &quot;table&quot;,
             &quot;name&quot;: &quot;Table&quot;,            // Same ID as an object Entity
             &quot;type&quot;: &quot;furniture&quot;,        // Arbitrary type, could be IFC type
             &quot;properties&quot;: {             // Arbitrary properties, could be IfcPropertySet
                 &quot;cost&quot;: &quot;200&quot;
             }
         },
         {
             &quot;id&quot;: &quot;redLeg&quot;,
             &quot;name&quot;: &quot;Red table Leg&quot;,
             &quot;type&quot;: &quot;leg&quot;,
             &quot;parent&quot;: &quot;table&quot;,           // References first MetaObject as parent
             &quot;properties&quot;: {
                 &quot;material&quot;: &quot;wood&quot;
             }
         },
         {
             &quot;id&quot;: &quot;greenLeg&quot;,           // Node with corresponding id does not need to exist
             &quot;name&quot;: &quot;Green table leg&quot;,  // and MetaObject does not need to exist for Node with an id
             &quot;type&quot;: &quot;leg&quot;,
             &quot;parent&quot;: &quot;table&quot;,
             &quot;properties&quot;: {
                 &quot;material&quot;: &quot;wood&quot;
             }
         },
         {
             &quot;id&quot;: &quot;blueLeg&quot;,
             &quot;name&quot;: &quot;Blue table leg&quot;,
             &quot;type&quot;: &quot;leg&quot;,
             &quot;parent&quot;: &quot;table&quot;,
             &quot;properties&quot;: {
                 &quot;material&quot;: &quot;wood&quot;
             }
         },
         {
             &quot;id&quot;: &quot;yellowLeg&quot;,
             &quot;name&quot;: &quot;Yellow table leg&quot;,
             &quot;type&quot;: &quot;leg&quot;,
             &quot;parent&quot;: &quot;table&quot;,
             &quot;properties&quot;: {
                 &quot;material&quot;: &quot;wood&quot;
             }
         },
         {
             &quot;id&quot;: &quot;tableTop&quot;,
             &quot;name&quot;: &quot;Purple table top&quot;,
             &quot;type&quot;: &quot;surface&quot;,
             &quot;parent&quot;: &quot;table&quot;,
             &quot;properties&quot;: {
                 &quot;material&quot;: &quot;formica&quot;,
                 &quot;width&quot;: &quot;60&quot;,
                 &quot;depth&quot;: &quot;60&quot;,
                 &quot;thickness&quot;: &quot;5&quot;
             }
         }
     ]
 });</code>
</code></pre>
<h2 id="querying-metadata">Querying Metadata</h2><p>Having created and classified our model (either the instancing or batching example), we can now find the <span><a href="class/src/viewer/metadata/MetaModel.js~MetaModel.html">MetaModel</a></span>
and <span><a href="class/src/viewer/metadata/MetaObject.js~MetaObject.html">MetaObject</a></span>s using the IDs of their
corresponding <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span>s.</p>
<pre><code class="lang-JavaScript"><code class="source-code prettyprint">const furnitureMetaModel = scene.metaScene.metaModels[&quot;furniture&quot;];

const redLegMetaObject = scene.metaScene.metaObjects[&quot;redLeg&quot;];</code>
</code></pre>
<p>In the snippet below, we&apos;ll log metadata on each <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span> we click on:</p>
<pre><code class="lang-JavaScript"><code class="source-code prettyprint">viewer.scene.input.on(&quot;mouseclicked&quot;, function (coords) {

     const hit = viewer.scene.pick({
         canvasPos: coords
     });

     if (hit) {
         const entity = hit.entity;
         const metaObject = viewer.metaScene.metaObjects[entity.id];
         if (metaObject) {
             console.log(JSON.stringify(metaObject.getJSON(), null, &quot;\t&quot;));
         }
     }
 });</code>
</code></pre>
<h2 id="metadata-structure">Metadata Structure</h2><p>The <span><a href="class/src/viewer/metadata/MetaModel.js~MetaModel.html">MetaModel</a></span>
organizes its <span><a href="class/src/viewer/metadata/MetaObject.js~MetaObject.html">MetaObject</a></span>s in
a tree that describes their structural composition:</p>
<pre><code class="lang-JavaScript"><code class="source-code prettyprint">// Get metadata on the root object
const tableMetaObject = furnitureMetaModel.rootMetaObject;

// Get metadata on the leg objects
const redLegMetaObject = tableMetaObject.children[0];
const greenLegMetaObject = tableMetaObject.children[1];
const blueLegMetaObject = tableMetaObject.children[2];
const yellowLegMetaObject = tableMetaObject.children[3];</code>
</code></pre>
<p>Given an <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span>, we can find the object or model of which it is a part, or the objects that comprise it. We can also generate UI
components from the metadata, such as the tree view demonstrated in <a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#BIMOffline_glTF_OTCConferenceCenter">this demo</a>.</p>
<p>This hierarchy allows us to express the hierarchical structure of a model while representing it in
various ways in the 3D scene (such as with <code>SceneModel</code>, which
has a non-hierarchical scene representation).</p>
<p>Note also that a <span><a href="class/src/viewer/metadata/MetaObject.js~MetaObject.html">MetaObject</a></span> does not need to have a corresponding
<span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span> and vice-versa.</p>
<h1 id="rtc-coordinates-for-double-precision">RTC Coordinates for Double Precision</h1><p><code>SceneModel</code> can emulate 64-bit precision on GPUs using relative-to-center (RTC) coordinates.</p>
<p>Consider a model that contains many small objects, but with such large spatial extents that 32 bits of GPU precision (accurate to ~7 digits) will not be sufficient to render all of the the objects without jittering.</p>
<p>To prevent jittering, we could spatially subdivide the objects into &quot;tiles&quot;. Each tile would have a center position, and the positions of the objects within the tile would be relative to that center (&quot;RTC coordinates&quot;).</p>
<p>While the center positions of the tiles would be 64-bit values, the object positions only need to be 32-bit.</p>
<p>Internally, when rendering an object with RTC coordinates, xeokit first temporarily translates the camera viewing matrix by the object&apos;s tile&apos;s RTC center, on the CPU, using 64-bit math.</p>
<p>Then xeokit loads the viewing matrix into its WebGL shaders, where math happens at 32-bit precision. Within the shaders, the matrix is effectively down-cast to 32-bit precision, and the object&apos;s 32-bit vertex positions are transformed by the matrix.</p>
<p>We see no jittering, because with RTC a detectable loss of GPU accuracy only starts happening to objects as they become very distant from the camera viewpoint, at which point they are too small to be discernible anyway.</p>
<h2 id="rtc-coordinates-with-geometry-instancing">RTC Coordinates with Geometry Instancing</h2><p>To use RTC with <code>SceneModel</code> geometry instancing, we specify an RTC center for the geometry via its <code>origin</code> parameter. Then <code>SceneModel</code> assumes that all meshes that instance that geometry are within the same RTC coordinate system, ie. the meshes <code>position</code> and <code>rotation</code> properties are assumed to be relative to the geometry&apos;s <code>origin</code>.</p>
<p>For simplicity, our example&apos;s meshes all instance the same geometry. Therefore, our example model has only one RTC center.</p>
<p>Note that the axis-aligned World-space boundary (AABB) of our model is <code>[ -6, -9, -6, 1000000006, -2.5, 1000000006]</code>.</p>
<p><a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#sceneRepresentation_SceneModel_batching"><img src="http://xeokit.io/img/docs/sceneGraph.png" alt></a></p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">const origin = [100000000, 0, 100000000];

sceneModel.createGeometry({
    id: &quot;box&quot;,
    primitive: &quot;triangles&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
});

sceneModel.createMesh({
    id: &quot;leg1&quot;,
    geometryId: &quot;box&quot;,
    position: [-4, -6, -4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [1, 0.3, 0.3],
    origin: origin
});

sceneModel.createEntity({
    meshIds: [&quot;leg1&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;leg2&quot;,
    geometryId: &quot;box&quot;,
    position: [4, -6, -4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [0.3, 1.0, 0.3],
    origin: origin
});

sceneModel.createEntity({
    meshIds: [&quot;leg2&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;leg3&quot;,
    geometryId: &quot;box&quot;,
    position: [4, -6, 4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [0.3, 0.3, 1.0],
    origin: origin
});

sceneModel.createEntity({
    meshIds: [&quot;leg3&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;leg4&quot;,
    geometryId: &quot;box&quot;,
    position: [-4, -6, 4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [1.0, 1.0, 0.0],
    origin: origin
});

sceneModel.createEntity({
    meshIds: [&quot;leg4&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;top&quot;,
    geometryId: &quot;box&quot;,
    position: [0, -3, 0],
    scale: [6, 0.5, 6],
    rotation: [0, 0, 0],
    color: [1.0, 0.3, 1.0],
    origin: origin
});

sceneModel.createEntity({
    meshIds: [&quot;top&quot;],
    isObject: true
});</code>
</code></pre>
<h2 id="rtc-coordinates-with-geometry-batching">RTC Coordinates with Geometry Batching</h2><p>To use RTC with <code>SceneModel</code> geometry batching, we specify an RTC center (<code>origin</code>) for each mesh. For performance, we try to have as many meshes share the same value for <code>origin</code> as possible. Each mesh&apos;s <code>positions</code>, <code>position</code> and <code>rotation</code> properties are assumed to be relative to <code>origin</code>.</p>
<p>For simplicity, the meshes in our example all share the same RTC center.</p>
<p>The axis-aligned World-space boundary (AABB) of our model is <code>[ -6, -9, -6, 1000000006, -2.5, 1000000006]</code>.</p>
<p><a href="https://xeokit.github.io/xeokit-sdk/examples/index.html#sceneRepresentation_SceneModel_batching"><img src="http://xeokit.io/img/docs/sceneGraph.png" alt></a></p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">const origin = [100000000, 0, 100000000];

sceneModel.createMesh({
    id: &quot;leg1&quot;,
    origin: origin, // This mesh&apos;s positions and transforms are relative to the RTC center
    primitive: &quot;triangles&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
    position: [-4, -6, -4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [1, 0.3, 0.3]
});

sceneModel.createEntity({
    meshIds: [&quot;leg1&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;leg2&quot;,
    origin: origin, // This mesh&apos;s positions and transforms are relative to the RTC center
    primitive: &quot;triangles&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
    position: [4, -6, -4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [0.3, 1.0, 0.3]
});

sceneModel.createEntity({
    meshIds: [&quot;leg2&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;leg3&quot;,
    origin: origin, // This mesh&apos;s positions and transforms are relative to the RTC center
    primitive: &quot;triangles&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
    position: [4, -6, 4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [0.3, 0.3, 1.0]
});

sceneModel.createEntity({
    meshIds: [&quot;leg3&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;leg4&quot;,
    origin: origin, // This mesh&apos;s positions and transforms are relative to the RTC center
    primitive: &quot;triangles&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
    position: [-4, -6, 4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [1.0, 1.0, 0.0]
});

sceneModel.createEntity({
    meshIds: [&quot;leg4&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;top&quot;,
    origin: origin, // This mesh&apos;s positions and transforms are relative to the RTC center
    primitive: &quot;triangles&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
    position: [0, -3, 0],
    scale: [6, 0.5, 6],
    rotation: [0, 0, 0],
    color: [1.0, 0.3, 1.0]
});

sceneModel.createEntity({
    meshIds: [&quot;top&quot;],
    isObject: true
});</code>
</code></pre>
<h2 id="positioning-at-world-space-coordinates">Positioning at World-space coordinates</h2><p>To position a SceneModel at given double-precision World coordinates, we can
configure the <code>origin</code> of the SceneModel itself. The <code>origin</code> is a double-precision
3D World-space position at which the SceneModel will be located.</p>
<p>Note that <code>position</code> is a single-precision offset relative to <code>origin</code>.</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">const origin = [100000000, 0, 100000000];

const sceneModel = new SceneModel(viewer.scene, {
    id: &quot;table&quot;,
    isModel: true,
    origin: origin, // Everything in this SceneModel is relative to this RTC center
    position: [0, 0, 0],
    scale: [1, 1, 1],
    rotation: [0, 0, 0]
});

sceneModel.createGeometry({
    id: &quot;box&quot;,
    primitive: &quot;triangles&quot;,
    positions: [ 1, 1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ... ],
    normals: [ 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, ... ],
    indices: [ 0, 1, 2, 0, 2, 3, 4, 5, 6, 4, 6, 7, ... ],
});

sceneModel.createMesh({
    id: &quot;leg1&quot;,
    geometryId: &quot;box&quot;,
    position: [-4, -6, -4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [1, 0.3, 0.3]
});

sceneModel.createEntity({
    meshIds: [&quot;leg1&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;leg2&quot;,
    geometryId: &quot;box&quot;,
    position: [4, -6, -4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [0.3, 1.0, 0.3]
});

sceneModel.createEntity({
    meshIds: [&quot;leg2&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;leg3&quot;,
    geometryId: &quot;box&quot;,
    position: [4, -6, 4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [0.3, 0.3, 1.0]
});

sceneModel.createEntity({
    meshIds: [&quot;leg3&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;leg4&quot;,
    geometryId: &quot;box&quot;,
    position: [-4, -6, 4],
    scale: [1, 3, 1],
    rotation: [0, 0, 0],
    color: [1.0, 1.0, 0.0]
});

sceneModel.createEntity({
    meshIds: [&quot;leg4&quot;],
    isObject: true
});

sceneModel.createMesh({
    id: &quot;top&quot;,
    geometryId: &quot;box&quot;,
    position: [0, -3, 0],
    scale: [6, 0.5, 6],
    rotation: [0, 0, 0],
    color: [1.0, 0.3, 1.0]
});

sceneModel.createEntity({
    meshIds: [&quot;top&quot;],
    isObject: true
});</code>
</code></pre>
<h1 id="textures">Textures</h1><h2 id="loading-ktx2-texture-files-into-a-scenemodel">Loading KTX2 Texture Files into a SceneModel</h2><p>A <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html">SceneModel</a></span> that is configured with a <span><a href="class/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js~KTX2TextureTranscoder.html">KTX2TextureTranscoder</a></span> will
allow us to load textures into it from KTX2 buffers or files.</p>
<p>In the example below, we&apos;ll create a <span>Viewer</span>, containing a <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html">SceneModel</a></span> configured with a
<span><a href="class/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js~KTX2TextureTranscoder.html">KTX2TextureTranscoder</a></span>. We&apos;ll then programmatically create a simple object within the SceneModel, consisting of
a single mesh with a texture loaded from a KTX2 file, which our SceneModel internally transcodes, using
its <span><a href="class/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js~KTX2TextureTranscoder.html">KTX2TextureTranscoder</a></span>. Note how we configure our <span><a href="class/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js~KTX2TextureTranscoder.html">KTX2TextureTranscoder</a></span> with a path to the Basis Universal
transcoder WASM module.</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">const viewer = new Viewer({
    canvasId: &quot;myCanvas&quot;,
    transparent: true
});

viewer.scene.camera.eye = [-21.80, 4.01, 6.56];
viewer.scene.camera.look = [0, -5.75, 0];
viewer.scene.camera.up = [0.37, 0.91, -0.11];

const textureTranscoder = new KTX2TextureTranscoder({
    viewer,
    transcoderPath: &quot;https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/basis/&quot; // &lt;------ Path to BasisU transcoder module
});

const sceneModel = new SceneModel(viewer.scene, {
     id: &quot;myModel&quot;,
     textureTranscoder // &lt;&lt;-------------------- Configure model with our transcoder
 });

sceneModel.createTexture({
     id: &quot;myColorTexture&quot;,
     src: &quot;../assets/textures/compressed/sample_uastc_zstd.ktx2&quot; // &lt;&lt;----- KTX2 texture asset
});

sceneModel.createTexture({
     id: &quot;myMetallicRoughnessTexture&quot;,
     src: &quot;../assets/textures/alpha/crosshatchAlphaMap.jpg&quot; // &lt;&lt;----- JPEG texture asset
});

sceneModel.createTextureSet({
     id: &quot;myTextureSet&quot;,
     colorTextureId: &quot;myColorTexture&quot;,
     metallicRoughnessTextureId: &quot;myMetallicRoughnessTexture&quot;
 });

sceneModel.createMesh({
     id: &quot;myMesh&quot;,
     textureSetId: &quot;myTextureSet&quot;,
     primitive: &quot;triangles&quot;,
     positions: [1, 1, 1, ...],
     normals: [0, 0, 1, 0, ...],
     uv: [1, 0, 0, ...],
     indices: [0, 1, 2, ...],
 });

sceneModel.createEntity({
     id: &quot;myEntity&quot;,
     meshIds: [&quot;myMesh&quot;]
 });

sceneModel.finalize();</code>
</code></pre>
<h2 id="loading-ktx2-textures-from-arraybuffers-into-a-scenemodel">Loading KTX2 Textures from ArrayBuffers into a SceneModel</h2><p>A SceneModel that is configured with a <span><a href="class/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js~KTX2TextureTranscoder.html">KTX2TextureTranscoder</a></span> will allow us to load textures into
it from KTX2 ArrayBuffers.</p>
<p>In the example below, we&apos;ll create a <span>Viewer</span>, containing a <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html">SceneModel</a></span> configured with a
<span><a href="class/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js~KTX2TextureTranscoder.html">KTX2TextureTranscoder</a></span>. We&apos;ll then programmatically create a simple object within the SceneModel, consisting of
a single mesh with a texture loaded from a KTX2 ArrayBuffer, which our SceneModel internally transcodes, using
its <span><a href="class/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js~KTX2TextureTranscoder.html">KTX2TextureTranscoder</a></span>.</p>
<pre><code class="lang-javascript"><code class="source-code prettyprint">const viewer = new Viewer({
    canvasId: &quot;myCanvas&quot;,
    transparent: true
});

viewer.scene.camera.eye = [-21.80, 4.01, 6.56];
viewer.scene.camera.look = [0, -5.75, 0];
viewer.scene.camera.up = [0.37, 0.91, -0.11];

const textureTranscoder = new KTX2TextureTranscoder({
    viewer,
    transcoderPath: &quot;https://cdn.jsdelivr.net/npm/@xeokit/xeokit-sdk/dist/basis/&quot; // &lt;------ Path to BasisU transcoder module
});

const sceneModel = new SceneModel(viewer.scene, {
     id: &quot;myModel&quot;,
     textureTranscoder // &lt;&lt;-------------------- Configure model with our transcoder
});

utils.loadArraybuffer(&quot;../assets/textures/compressed/sample_uastc_zstd.ktx2&quot;,(arrayBuffer) =&gt; {

    sceneModel.createTexture({
        id: &quot;myColorTexture&quot;,
        buffers: [arrayBuffer] // &lt;&lt;----- KTX2 texture asset
    });

    sceneModel.createTexture({
        id: &quot;myMetallicRoughnessTexture&quot;,
        src: &quot;../assets/textures/alpha/crosshatchAlphaMap.jpg&quot; // &lt;&lt;----- JPEG texture asset
    });

    sceneModel.createTextureSet({
       id: &quot;myTextureSet&quot;,
       colorTextureId: &quot;myColorTexture&quot;,
       metallicRoughnessTextureId: &quot;myMetallicRoughnessTexture&quot;
    });

    sceneModel.createMesh({
         id: &quot;myMesh&quot;,
         textureSetId: &quot;myTextureSet&quot;,
         primitive: &quot;triangles&quot;,
         positions: [1, 1, 1, ...],
         normals: [0, 0, 1, 0, ...],
         uv: [1, 0, 0, ...],
         indices: [0, 1, 2, ...],
    });

    sceneModel.createEntity({
        id: &quot;myEntity&quot;,
        meshIds: [&quot;myMesh&quot;]
    });

    sceneModel.finalize();
});</code>
</code></pre>
</div>
  

  

  

  

  
</div>



<div data-ice="constructorSummary"><h2>Constructor Summary</h2><table class="summary" data-ice="summary">
  <thead><tr><td data-ice="title" colspan="3">Public Constructor</td></tr></thead>
  <tbody>
  
  <tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-constructor-constructor">constructor</a></span></span><span class="code" data-ice="signature">(owner: <span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span>, cfg: <span>*</span>)</span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
</tbody>
</table>
</div>
<div data-ice="memberSummary"><h2>Member Summary</h2><table class="summary" data-ice="summary">
  <thead><tr><td data-ice="title" colspan="3">Public Members</td></tr></thead>
  <tbody>
  
  <tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-aabb">aabb</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the SceneModel&apos;s World-space 3D axis-aligned bounding box.</p>
<p>Represented by a six-element Float64Array containing the min/max extents of the
axis-aligned volume, ie. <code>[xmin, ymin,zmin,xmax,ymax, zmax]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-backfaces">backfaces</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if backfaces are rendered for this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-backfaces">backfaces</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if backfaces are rendered for this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-castsShadow">castsShadow</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if this SceneModel casts a shadow.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-castsShadow">castsShadow</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if this SceneModel casts a shadow.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-clippable">clippable</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are clippable.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-clippable">clippable</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are clippable.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-collidable">collidable</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if this SceneModel is collidable.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-collidable">collidable</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are collidable.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-colorTextureEnabled">colorTextureEnabled</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if color textures are enabled for this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-colorize">colorize</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the RGB colorize color for this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-colorize">colorize</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets the RGB colorize color for this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-culled">culled</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if this SceneModel is culled from view.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-culled">culled</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if this SceneModel is culled from view.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-edgeMaterial">edgeMaterial</a></span></span><span class="code" data-ice="signature">: <span><a href="class/src/viewer/scene/materials/EdgeMaterial.js~EdgeMaterial.html">EdgeMaterial</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Configures the appearance of edges of <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-edges">edges</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if any <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel have edges emphasised.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-edges">edges</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if all <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel have edges emphasised.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-entityList">entityList</a></span></span><span class="code" data-ice="signature">: <span><span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span><span>[]</span></span>: <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the list of <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-highlightMaterial">highlightMaterial</a></span></span><span class="code" data-ice="signature">: <span><a href="class/src/viewer/scene/materials/EmphasisMaterial.js~EmphasisMaterial.html">EmphasisMaterial</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Configures the appearance of highlighted <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-highlighted">highlighted</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if any <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are highlighted.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-highlighted">highlighted</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if all <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are highlighted.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-isDrawable">isDrawable</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Returns true to indicate that SceneModel is implements <span>Drawable</span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-isEntity">isEntity</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Returns true to indicate that SceneModel is an <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-isModel">isModel</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Returns <code>true</code> if this SceneModel represents a model.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-isObject">isObject</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Returns <code>false</code> to indicate that SceneModel never represents an object.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-isPerformanceModel">isPerformanceModel</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Returns true to indicate that this Component is a SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-member-layerList">layerList</a></span></span><span class="code" data-ice="signature">: <span><span>*</span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-matrix">matrix</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets the SceneModel&apos;s local modeling transform matrix.</p>
<p>Default value is <code>[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-matrix">matrix</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the SceneModel&apos;s local modeling transform matrix.</p>
<p>Default value is <code>[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-meshes">meshes</a></span></span><span class="code" data-ice="signature">: <span>*</span> | {}: <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span>es in this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-member-numEntities">numEntities</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-numLines">numLines</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The approximate number of line primitives in this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-numPoints">numPoints</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The approximate number of point primitives in this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-numTriangles">numTriangles</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The approximate number of triangle primitives in this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-objects">objects</a></span></span><span class="code" data-ice="signature">: <span>*</span> | {}: <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-opacity">opacity</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets this SceneModel&apos;s opacity factor.</p>
<p>This is a factor in range <code>[0..1]</code> which multiplies by the rendered fragment alphas.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-opacity">opacity</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets the opacity factor for this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-origin">origin</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array">Float64Array</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the 3D World-space origin for this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-pbrEnabled">pbrEnabled</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if physically-based rendering (PBR) is enabled for this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-pickable">pickable</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if this SceneModel is pickable.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-pickable">pickable</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are pickable.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-position">position</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets the SceneModel&apos;s local translation.</p>
<p>Default value is <code>[0,0,0]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-position">position</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the SceneModel&apos;s local translation.</p>
<p>Default value is <code>[0,0,0]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-quaternion">quaternion</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets the SceneModel&apos;s local rotation quaternion.</p>
<p>Default value is <code>[0,0,0,1]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-quaternion">quaternion</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the SceneModel&apos;s local rotation quaternion.</p>
<p>Default value is <code>[0,0,0,1]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-receivesShadow">receivesShadow</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if this SceneModel can have shadow cast upon it.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-receivesShadow">receivesShadow</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if this SceneModel can have shadow cast upon it.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-member-renderOrder">renderOrder</a></span></span><span class="code" data-ice="signature">: <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-rotation">rotation</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets the SceneModel&apos;s local rotation, as Euler angles given in degrees, for each of the X, Y and Z axis.</p>
<p>Default value is <code>[0,0,0]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-rotation">rotation</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the SceneModel&apos;s local rotation, as Euler angles given in degrees, for each of the X, Y and Z axis.</p>
<p>Default value is <code>[0,0,0]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-rotationMatrix">rotationMatrix</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the SceneModel&apos;s local modeling rotation transform matrix.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-rotationMatrixConjugate">rotationMatrixConjugate</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the conjugate of the SceneModel&apos;s local modeling rotation transform matrix.</p>
<p>This is used for RTC view matrix management in renderers.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-saoEnabled">saoEnabled</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if Scalable Ambient Obscurance (SAO) will apply to this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-scale">scale</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        <div class="deprecated" data-ice="deprecated">this set was deprecated.</div>
        
        <div data-ice="description"><p>Sets the SceneModel&apos;s local scale.</p>
<p>Default value is <code>[1,1,1]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-scale">scale</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        <div class="deprecated" data-ice="deprecated">this get was deprecated.</div>
        
        <div data-ice="description"><p>Gets the SceneModel&apos;s local scale.</p>
<p>Default value is <code>[1,1,1]</code>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-selected">selected</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if any <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are selected.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-selected">selected</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if all <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are selected.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-selectedMaterial">selectedMaterial</a></span></span><span class="code" data-ice="signature">: <span><a href="class/src/viewer/scene/materials/EmphasisMaterial.js~EmphasisMaterial.html">EmphasisMaterial</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Configures the appearance of selected <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-textureSets">textureSets</a></span></span><span class="code" data-ice="signature">: <span>*</span> | {}: <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/model/SceneModelTextureSet.js~SceneModelTextureSet.html">SceneModelTextureSet</a></span>s in this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-textures">textures</a></span></span><span class="code" data-ice="signature">: <span>*</span> | {}: <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/model/SceneModelTexture.js~SceneModelTexture.html">SceneModelTexture</a></span>s in this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-transforms">transforms</a></span></span><span class="code" data-ice="signature">: <span>*</span> | {}: <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span>s in this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-visible">visible</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if any <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are visible.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-visible">visible</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if this SceneModel is visible.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-worldMatrix">worldMatrix</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the SceneModel&apos;s World matrix.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-worldNormalMatrix">worldNormalMatrix</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets the SceneModel&apos;s World normal matrix.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-xrayMaterial">xrayMaterial</a></span></span><span class="code" data-ice="signature">: <span><a href="class/src/viewer/scene/materials/EmphasisMaterial.js~EmphasisMaterial.html">EmphasisMaterial</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Configures the appearance of xrayed <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-xrayed">xrayed</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Gets if any <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are xrayed.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">set</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-set-xrayed">xrayed</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Sets if all <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are xrayed.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
</tbody>
</table>
</div>
<div data-ice="methodSummary"><h2>Method Summary</h2><table class="summary" data-ice="summary">
  <thead><tr><td data-ice="title" colspan="3">Public Methods</td></tr></thead>
  <tbody>
  
  <tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createEntity">createEntity</a></span></span><span class="code" data-ice="signature">(cfg: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span>): <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span> within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createGeometry">createGeometry</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a reusable geometry within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createMesh">createMesh</a></span></span><span class="code" data-ice="signature">(cfg: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a new <span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span> within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createQuantizationRange">createQuantizationRange</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>)</span>
        </p>
      </div>
      <div>
        
        
        
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTexture">createTexture</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a texture within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTextureSet">createTextureSet</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a texture set within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTransform">createTransform</a></span></span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Creates a new <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span> within this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-destroy">destroy</a></span></span><span class="code" data-ice="signature">()</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Destroys this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-finalize">finalize</a></span></span><span class="code" data-ice="signature">()</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Finalizes this SceneModel.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-preFinalize">preFinalize</a></span></span><span class="code" data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Pre-renders all meshes that have been added, even if the SceneModel has not bee finalized yet.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
</tbody>
</table>
</div>

<div class="inherited-summary" data-ice="inheritedSummary"><h2>Inherited Summary</h2><table class="summary" data-ice="summary">
  <thead><tr><td data-ice="title" colspan="3"><span class="toggle closed"></span> From class <span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span></td></tr></thead>
  <tbody>
  
  <tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      <span class="kind" data-ice="kind">get</span>
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-get-owner">owner</a></span></span><span class="code" data-ice="signature">: <span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span> that owns the lifecycle of this Component, if any.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-member-destroyed">destroyed</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>True as soon as this Component has been destroyed</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-member-id">id</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>ID of this Component, unique within the <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-member-meta">meta</a></span></span><span class="code" data-ice="signature">: <span>*</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Arbitrary, user-defined metadata on this component.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-member-scene">scene</a></span></span><span class="code" data-ice="signature">: <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The parent <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span> that contains this Component.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-member-viewer">viewer</a></span></span><span class="code" data-ice="signature">: <span>Viewer</span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>The viewer that contains this Scene.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-clear">clear</a></span></span><span class="code" data-ice="signature">()</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Destroys all <span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span>s that are owned by this.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-destroy">destroy</a></span></span><span class="code" data-ice="signature">()</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Destroys this component.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-error">error</a></span></span><span class="code" data-ice="signature">(message: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>)</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Logs an error for this component to the JavaScript console.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-fire">fire</a></span></span><span class="code" data-ice="signature">(event: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>, value: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span>, forget: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span>)</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Fires an event on this component.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-hasSubs">hasSubs</a></span></span><span class="code" data-ice="signature">(event: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Returns true if there are any subscribers to the given event on this component.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-isType">isType</a></span></span><span class="code" data-ice="signature">(type: <span>*</span>): <span>*</span>: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Tests if this component is of the given type, or is a subclass of the given type.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-log">log</a></span></span><span class="code" data-ice="signature">(message: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>)</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Logs a console debugging message for this component.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-off">off</a></span></span><span class="code" data-ice="signature">(subId: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>)</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Cancels an event subscription that was previously made with <span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-on">Component#on</a></span> or <span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-once">Component#once</a></span>.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-on">on</a></span></span><span class="code" data-ice="signature">(event: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>, callback: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></span>, scope: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Subscribes to an event on this component.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-once">once</a></span></span><span class="code" data-ice="signature">(event: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>, callback: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</a></span>, scope: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span>)</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Subscribes to the next occurrence of the given event, then un-subscribes as soon as the event is subIdd.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-scheduleTask">scheduleTask</a></span></span><span class="code" data-ice="signature">(task: <span>*</span>)</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Schedule a task to perform on the next browser interval</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
<tr data-ice="target">
    <td>
      <span class="access" data-ice="access">public</span>
      
      
      
      <span class="override" data-ice="override"></span>
    </td>
    <td>
      <div>
        <p>
          
          
          
          <span class="code" data-ice="name"><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-warn">warn</a></span></span><span class="code" data-ice="signature">(message: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>)</span>
        </p>
      </div>
      <div>
        
        
        <div data-ice="description"><p>Logs a warning for this component to the JavaScript console.</p>
</div>
      </div>
    </td>
    <td>
      
      
    </td>
  </tr>
</tbody>
</table>
</div>



<div data-ice="constructorDetails"><h2 data-ice="title">Public Constructors</h2>

<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-constructor-constructor">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">constructor</span><span class="code" data-ice="signature">(owner: <span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span>, cfg: <span>*</span>)</span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1130">source</a></span></span>
    </span>
  </h3>

  
  
  
  

  <div data-ice="override"><h4>Override:</h4><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-constructor-constructor">Component#constructor</a></span></div>

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">owner</td>
      <td data-ice="type" class="code"><span><a href="class/src/viewer/scene/Component.js~Component.html">Component</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Owner component. When destroyed, the owner will destroy this component as well.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Configs</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional ID, unique among all components in the parent scene, generated automatically when omitted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.isModel</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Specify <code>true</code> if this SceneModel represents a model, in which case the SceneModel will be registered by <span><a href="class/src/viewer/scene/Component.js~Component.html#instance-member-id">SceneModel#id</a></span> in <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-member-models">Scene#models</a></span> and may also have a corresponding <span><a href="class/src/viewer/metadata/MetaModel.js~MetaModel.html">MetaModel</a></span> with matching <span><a href="class/src/viewer/metadata/MetaModel.js~MetaModel.html#instance-member-id">MetaModel#id</a></span>, registered by that ID in <span><a href="class/src/viewer/metadata/MetaScene.js~MetaScene.html#instance-member-metaModels">MetaScene#metaModels</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.origin</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [0,0,0]</li></ul></td>
      <td data-ice="description"><p>World-space double-precision 3D origin.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.position</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [0,0,0]</li></ul></td>
      <td data-ice="description"><p>Local, single-precision 3D position, relative to the origin parameter.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.scale</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [1,1,1]</li></ul></td>
      <td data-ice="description"><p>Local scale.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.rotation</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [0,0,0]</li></ul></td>
      <td data-ice="description"><p>Local rotation, as Euler angles given in degrees, for each of the X, Y and Z axis.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.matrix</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1] Local modelling transform matrix. Overrides the position, scale and rotation parameters.</li></ul></td>
      <td data-ice="description"></td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.visible</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModel is initially visible.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.culled</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModel is initially culled from view.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.pickable</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModel is initially pickable.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.clippable</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModel is initially clippable.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.collidable</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModel is initially included in boundary calculations.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.xrayed</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModel is initially xrayed.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.highlighted</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModel is initially highlighted.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.selected</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModel is initially selected.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.edges</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModel&apos;s edges are initially emphasized.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.colorize</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [1.0,1.0,1.0]</li></ul></td>
      <td data-ice="description"><p>SceneModel&apos;s initial RGB colorize color, multiplies by the rendered fragment colors.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.opacity</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1.0</li></ul></td>
      <td data-ice="description"><p>SceneModel&apos;s initial opacity factor, multiplies by the rendered fragment alpha.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.backfaces</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>When we set this <code>true</code>, then we force rendering of backfaces for this SceneModel. When
we leave this <code>false</code>, then we allow the Viewer to decide when to render backfaces. In that case, the
Viewer will hide backfaces on watertight meshes, show backfaces on open meshes, and always show backfaces on meshes when we slice them open with <span><a href="class/src/viewer/scene/sectionPlane/SectionPlane.js~SectionPlane.html">SectionPlane</a></span>s.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.saoEnabled</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if Scalable Ambient Obscurance (SAO) will apply to this SceneModel. SAO is configured by the Scene&apos;s <span><a href="class/src/viewer/scene/postfx/SAO.js~SAO.html">SAO</a></span> component.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.pbrEnabled</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if physically-based rendering (PBR) will apply to the SceneModel when <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-set-pbrEnabled">Scene#pbrEnabled</a></span> is <code>true</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.colorTextureEnabled</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if base color textures will be rendered for the SceneModel when <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-set-colorTextureEnabled">Scene#colorTextureEnabled</a></span> is <code>true</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.edgeThreshold</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 10</li></ul></td>
      <td data-ice="description"><p>When xraying, highlighting, selecting or edging, this is the threshold angle between normals of adjacent triangles, below which their shared wireframe edge is not drawn.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.maxGeometryBatchSize</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 50000000</li></ul></td>
      <td data-ice="description"><p>Maximum geometry batch size, as number of vertices. This is optionally supplied
to limit the size of the batched geometry arrays that SceneModel internally creates for batched geometries.
A lower value means less heap allocation/de-allocation while creating/loading batched geometries, but more draw calls and
slower rendering speed. A high value means larger heap allocation/de-allocation while creating/loading, but less draw calls
and faster rendering speed. It&apos;s recommended to keep this somewhere roughly between <code>50000</code> and <code>`50000000</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.textureTranscoder</td>
      <td data-ice="type" class="code"><span><a href="class/src/viewer/scene/utils/textureTranscoders/TextureTranscoder.js~TextureTranscoder.html">TextureTranscoder</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Transcoder that will be used internally by <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTexture">SceneModel#createTexture</a></span>
to convert transcoded texture data. Only required when we&apos;ll be providing transcoded data
to <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTexture">SceneModel#createTexture</a></span>. We assume that all transcoded texture data added to a  <code>SceneModel</code>
will then in a format supported by this transcoder.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.dtxEnabled</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>When <code>true</code> (default) use data textures (DTX), where appropriate, to
represent the returned model. Set false to always use vertex buffer objects (VBOs). Note that DTX is only applicable
to non-textured triangle meshes, and that VBOs are always used for meshes that have textures, line segments, or point
primitives. Only works while <span>DTX#enabled</span> is also <code>true</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.renderOrder</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 0</li></ul></td>
      <td data-ice="description"><p>Specifies the rendering order for this SceneModel. This is used to control the order in which
SceneModels are drawn when they have transparent objects, to give control over the order in which those objects are blended within the transparent
render pass.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  

  

  

  

  

  

  

  
  
</div>
</div>
<div data-ice="memberDetails"><h2 data-ice="title">Public Members</h2>

<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-aabb">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">aabb</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1782">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the SceneModel&apos;s World-space 3D axis-aligned bounding box.</p>
<p>Represented by a six-element Float64Array containing the min/max extents of the
axis-aligned volume, ie. <code>[xmin, ymin,zmin,xmax,ymax, zmax]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-backfaces">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">backfaces</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1706">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if backfaces are rendered for this SceneModel.</p>
<p>Default is <code>false</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-backfaces">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">backfaces</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1726">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if backfaces are rendered for this SceneModel.</p>
<p>Default is <code>false</code>.</p>
<p>When we set this <code>true</code>, then backfaces are always rendered for this SceneModel.</p>
<p>When we set this <code>false</code>, then we allow the Viewer to decide whether to render backfaces. In this case,
the Viewer will:</p>
<ul>
<li>hide backfaces on watertight meshes,</li>
<li>show backfaces on open meshes, and</li>
<li>always show backfaces on meshes when we slice them open with <span><a href="class/src/viewer/scene/sectionPlane/SectionPlane.js~SectionPlane.html">SectionPlane</a></span>s.</li>
</ul>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-castsShadow">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">castsShadow</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2102">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if this SceneModel casts a shadow.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-castsShadow">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">castsShadow</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2111">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if this SceneModel casts a shadow.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-clippable">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">clippable</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1977">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are clippable.</p>
<p>Clipping is done by the <span><a href="class/src/viewer/scene/sectionPlane/SectionPlane.js~SectionPlane.html">SectionPlane</a></span>s in <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-member-sectionPlanes">Scene#sectionPlanes</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-clippable">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">clippable</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1988">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are clippable.</p>
<p>Clipping is done by the <span><a href="class/src/viewer/scene/sectionPlane/SectionPlane.js~SectionPlane.html">SectionPlane</a></span>s in <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-member-sectionPlanes">Scene#sectionPlanes</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-collidable">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">collidable</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2002">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if this SceneModel is collidable.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-collidable">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">collidable</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2011">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are collidable.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-colorTextureEnabled">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">colorTextureEnabled</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2172">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if color textures are enabled for this SceneModel.</p>
<p>Only works when <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-set-colorTextureEnabled">Scene#colorTextureEnabled</a></span> is also true.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-colorize">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">colorize</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2052">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the RGB colorize color for this SceneModel.</p>
<p>Each element of the color is in range <code>[0..1]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-colorize">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">colorize</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2065">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets the RGB colorize color for this SceneModel.</p>
<p>Multiplies by rendered fragment colors.</p>
<p>Each element of the color is in range <code>[0..1]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-culled">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">culled</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1950">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if this SceneModel is culled from view.</p>
<p>The SceneModel is only rendered when <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-visible">SceneModel#visible</a></span> is true and <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-culled">SceneModel#culled</a></span> is false.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-culled">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">culled</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1961">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if this SceneModel is culled from view.</p>
<p>The SceneModel is only rendered when <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-visible">SceneModel#visible</a></span> is true and <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-culled">SceneModel#culled</a></span> is false.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-edgeMaterial">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">edgeMaterial</span><span class="code" data-ice="signature">: <span><a href="class/src/viewer/scene/materials/EdgeMaterial.js~EdgeMaterial.html">EdgeMaterial</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2230">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Configures the appearance of edges of <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s within this SceneModel.</p>
<p>This is the <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-get-edgeMaterial">Scene#edgeMaterial</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-edges">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">edges</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1925">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if any <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel have edges emphasised.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-edges">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">edges</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1934">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if all <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel have edges emphasised.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-entityList">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">entityList</span><span class="code" data-ice="signature">: <span><span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span><span>[]</span></span>: <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1737">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the list of <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s within this SceneModel.</p>
</div>

  

  <div data-ice="properties">
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span><span>[]</span></span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-highlightMaterial">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">highlightMaterial</span><span class="code" data-ice="signature">: <span><a href="class/src/viewer/scene/materials/EmphasisMaterial.js~EmphasisMaterial.html">EmphasisMaterial</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2208">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Configures the appearance of highlighted <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s within this SceneModel.</p>
<p>This is the <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-get-highlightMaterial">Scene#highlightMaterial</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-highlighted">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">highlighted</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1879">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if any <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are highlighted.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-highlighted">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">highlighted</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1888">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if all <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are highlighted.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-isDrawable">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">isDrawable</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2181">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Returns true to indicate that SceneModel is implements <span>Drawable</span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-isEntity">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">isEntity</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1745">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Returns true to indicate that SceneModel is an <span><a href="class/src/viewer/scene/Entity.js~Entity.html">Entity</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-isModel">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">isModel</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1757">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Returns <code>true</code> if this SceneModel represents a model.</p>
<p>When <code>true</code> the SceneModel will be registered by <span><a href="class/src/viewer/scene/Component.js~Component.html#instance-member-id">SceneModel#id</a></span> in
<span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-member-models">Scene#models</a></span> and may also have a <span><a href="class/src/viewer/metadata/MetaObject.js~MetaObject.html">MetaObject</a></span> with matching <span><a href="class/src/viewer/metadata/MetaObject.js~MetaObject.html#instance-member-id">MetaObject#id</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-isObject">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">isObject</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1770">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Returns <code>false</code> to indicate that SceneModel never represents an object.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-isPerformanceModel">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">isPerformanceModel</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1381">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Returns true to indicate that this Component is a SceneModel.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-member-layerList">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">layerList</span><span class="code" data-ice="signature">: <span><span>*</span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1157">source</a></span></span>
    </span>
  </h3>

  
  
  
  

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-matrix">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">matrix</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1563">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets the SceneModel&apos;s local modeling transform matrix.</p>
<p>Default value is <code>[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-matrix">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">matrix</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1580">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the SceneModel&apos;s local modeling transform matrix.</p>
<p>Default value is <code>[1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-meshes">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">meshes</span><span class="code" data-ice="signature">: <span>*</span> | {}: <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1426">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span>es in this SceneModel.</p>
<p>Each {@SceneModelMesh} is stored here against its <span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html#instance-member-id">SceneModelMesh.id</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span> | {}</td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-member-numEntities">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">numEntities</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">number</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1233">source</a></span></span>
    </span>
  </h3>

  
  
  
  

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-numLines">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">numLines</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1811">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>The approximate number of line primitives in this SceneModel.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-numPoints">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">numPoints</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1820">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>The approximate number of point primitives in this SceneModel.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-numTriangles">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">numTriangles</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1798">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>The approximate number of triangle primitives in this SceneModel.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-objects">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">objects</span><span class="code" data-ice="signature">: <span>*</span> | {}: <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1438">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel.</p>
<p>Each {#link SceneModelEntity} in this SceneModel that represents an object is
stored here against its <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html#instance-member-id">SceneModelTransform.id</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span> | {}</td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-opacity">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">opacity</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2079">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets this SceneModel&apos;s opacity factor.</p>
<p>This is a factor in range <code>[0..1]</code> which multiplies by the rendered fragment alphas.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-opacity">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">opacity</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2090">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets the opacity factor for this SceneModel.</p>
<p>This is a factor in range <code>[0..1]</code> which multiplies by the rendered fragment alphas.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-origin">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">origin</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array">Float64Array</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1451">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the 3D World-space origin for this SceneModel.</p>
<p>Each <span>SceneModelMesh.origin</span>, if supplied, is relative to this origin.</p>
<p>Default value is <code>[0,0,0]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-pbrEnabled">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">pbrEnabled</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2161">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if physically-based rendering (PBR) is enabled for this SceneModel.</p>
<p>Only works when <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-set-pbrEnabled">Scene#pbrEnabled</a></span> is also true.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-pickable">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">pickable</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2026">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if this SceneModel is pickable.</p>
<p>Picking is done via calls to <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-method-pick">Scene#pick</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-pickable">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">pickable</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2037">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are pickable.</p>
<p>Picking is done via calls to <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-method-pick">Scene#pick</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-position">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">position</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1462">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets the SceneModel&apos;s local translation.</p>
<p>Default value is <code>[0,0,0]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-position">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">position</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1476">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the SceneModel&apos;s local translation.</p>
<p>Default value is <code>[0,0,0]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-quaternion">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">quaternion</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1513">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets the SceneModel&apos;s local rotation quaternion.</p>
<p>Default value is <code>[0,0,0,1]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-quaternion">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">quaternion</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1528">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the SceneModel&apos;s local rotation quaternion.</p>
<p>Default value is <code>[0,0,0,1]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-receivesShadow">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">receivesShadow</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2124">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if this SceneModel can have shadow cast upon it.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-receivesShadow">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">receivesShadow</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2133">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if this SceneModel can have shadow cast upon it.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-member-renderOrder">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">renderOrder</span><span class="code" data-ice="signature">: <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1134">source</a></span></span>
    </span>
  </h3>

  
  
  
  

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-rotation">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">rotation</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1487">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets the SceneModel&apos;s local rotation, as Euler angles given in degrees, for each of the X, Y and Z axis.</p>
<p>Default value is <code>[0,0,0]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-rotation">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">rotation</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1502">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the SceneModel&apos;s local rotation, as Euler angles given in degrees, for each of the X, Y and Z axis.</p>
<p>Default value is <code>[0,0,0]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-rotationMatrix">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">rotationMatrix</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1590">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the SceneModel&apos;s local modeling rotation transform matrix.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-rotationMatrixConjugate">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">rotationMatrixConjugate</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1616">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the conjugate of the SceneModel&apos;s local modeling rotation transform matrix.</p>
<p>This is used for RTC view matrix management in renderers.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-saoEnabled">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">saoEnabled</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2150">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if Scalable Ambient Obscurance (SAO) will apply to this SceneModel.</p>
<p>SAO is configured by the Scene&apos;s <span><a href="class/src/viewer/scene/postfx/SAO.js~SAO.html">SAO</a></span> component.</p>
<p> Only works when <span><a href="class/src/viewer/scene/postfx/SAO.js~SAO.html#instance-set-enabled">SAO#enabled</a></span> is also true.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-scale">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">scale</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1540">source</a></span></span>
    </span>
  </h3>

  
  <div class="deprecated" data-ice="deprecated">this set was deprecated.</div>
  
  <div data-ice="description"><p>Sets the SceneModel&apos;s local scale.</p>
<p>Default value is <code>[1,1,1]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-scale">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">scale</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1552">source</a></span></span>
    </span>
  </h3>

  
  <div class="deprecated" data-ice="deprecated">this get was deprecated.</div>
  
  <div data-ice="description"><p>Gets the SceneModel&apos;s local scale.</p>
<p>Default value is <code>[1,1,1]</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-selected">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">selected</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1902">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if any <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are selected.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-selected">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">selected</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1911">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if all <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are selected.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-selectedMaterial">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">selectedMaterial</span><span class="code" data-ice="signature">: <span><a href="class/src/viewer/scene/materials/EmphasisMaterial.js~EmphasisMaterial.html">EmphasisMaterial</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2219">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Configures the appearance of selected <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s within this SceneModel.</p>
<p>This is the <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-get-selectedMaterial">Scene#selectedMaterial</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-textureSets">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">textureSets</span><span class="code" data-ice="signature">: <span>*</span> | {}: <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1415">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/model/SceneModelTextureSet.js~SceneModelTextureSet.html">SceneModelTextureSet</a></span>s in this SceneModel.</p>
<p>Each <span><a href="class/src/viewer/scene/model/SceneModelTextureSet.js~SceneModelTextureSet.html">SceneModelTextureSet</a></span> is stored here against its <span><a href="class/src/viewer/scene/model/SceneModelTextureSet.js~SceneModelTextureSet.html#instance-member-id">SceneModelTextureSet.id</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span> | {}</td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-textures">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">textures</span><span class="code" data-ice="signature">: <span>*</span> | {}: <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1404">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/model/SceneModelTexture.js~SceneModelTexture.html">SceneModelTexture</a></span>s in this SceneModel.</p>
<ul>
<li>Each <span><a href="class/src/viewer/scene/model/SceneModelTexture.js~SceneModelTexture.html">SceneModelTexture</a></span> is created with <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTexture">SceneModel.createTexture</a></span>.</li>
<li>Each <span><a href="class/src/viewer/scene/model/SceneModelTexture.js~SceneModelTexture.html">SceneModelTexture</a></span> is stored here against its <span><a href="class/src/viewer/scene/model/SceneModelTexture.js~SceneModelTexture.html#instance-member-id">SceneModelTexture.id</a></span>.</li>
</ul>
</div>

  

  <div data-ice="properties">
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span> | {}</td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-transforms">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">transforms</span><span class="code" data-ice="signature">: <span>*</span> | {}: <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1392">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>The <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span>s in this SceneModel.</p>
<p>Each {#link SceneModelTransform} is stored here against its <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html#instance-member-id">SceneModelTransform.id</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span> | {}</td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-visible">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">visible</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1831">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if any <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are visible.</p>
<p>The SceneModel is only rendered when <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-visible">SceneModel#visible</a></span> is <code>true</code> and <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-culled">SceneModel#culled</a></span> is <code>false</code>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-visible">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">visible</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1842">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if this SceneModel is visible.</p>
<p>The SceneModel is only rendered when <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-visible">SceneModel#visible</a></span> is <code>true</code> and <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-culled">SceneModel#culled</a></span> is <code>false</code>.
*</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-worldMatrix">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">worldMatrix</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1648">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the SceneModel&apos;s World matrix.</p>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Properties:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">worldMatrix</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-worldNormalMatrix">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">worldNormalMatrix</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1657">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets the SceneModel&apos;s World normal matrix.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-xrayMaterial">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">xrayMaterial</span><span class="code" data-ice="signature">: <span><a href="class/src/viewer/scene/materials/EmphasisMaterial.js~EmphasisMaterial.html">EmphasisMaterial</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2197">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Configures the appearance of xrayed <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s within this SceneModel.</p>
<p>This is the <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-get-xrayMaterial">Scene#xrayMaterial</a></span>.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-get-xrayed">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">get</span>
    
    
    
    <span class="code" data-ice="name">xrayed</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1856">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Gets if any <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are xrayed.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-set-xrayed">
    <span class="access" data-ice="access">public</span>
    
    <span class="kind" data-ice="kind">set</span>
    
    
    
    <span class="code" data-ice="name">xrayed</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber1865">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Sets if all <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span>s in this SceneModel are xrayed.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
</div>
<div data-ice="methodDetails"><h2 data-ice="title">Public Methods</h2>

<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-method-createEntity">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">createEntity</span><span class="code" data-ice="signature">(cfg: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span>): <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber3438">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Creates a <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span> within this SceneModel.</p>
<ul>
<li>Gives the SceneModelEntity one or more <span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span>es previously created with
<span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createMesh">SceneModel#createMesh</a></span>. A SceneModelMesh can only belong to one SceneModelEntity, so you&apos;ll get an
error if you try to reuse a mesh among multiple SceneModelEntitys.</li>
<li>The SceneModelEntity can have a <span><a href="class/src/viewer/scene/model/SceneModelTextureSet.js~SceneModelTextureSet.html">SceneModelTextureSet</a></span>, previously created with
<span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTextureSet">SceneModel#createTextureSet</a></span>. A SceneModelTextureSet can belong to multiple SceneModelEntitys.</li>
<li>The SceneModelEntity can have a geometry, previously created with
<span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTextureSet">SceneModel#createTextureSet</a></span>. A geometry is a &quot;virtual component&quot; and can belong to multiple SceneModelEntitys.</li>
</ul>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>SceneModelEntity configuration.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Optional ID for the new SceneModelEntity. Must not clash with any existing components within the <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.meshIds</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span><span>[]</span></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>IDs of one or more meshes created previously with {@link SceneModel@createMesh}.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.isObject</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Set <code>true</code> if the <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span> represents an object, in which case it will be registered by <span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html#instance-member-id">SceneModelEntity#id</a></span> in <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html#instance-member-objects">Scene#objects</a></span> and can also have a corresponding <span><a href="class/src/viewer/metadata/MetaObject.js~MetaObject.html">MetaObject</a></span> with matching <span><a href="class/src/viewer/metadata/MetaObject.js~MetaObject.html#instance-member-id">MetaObject#id</a></span>, registered by that ID in <span><a href="class/src/viewer/metadata/MetaScene.js~MetaScene.html#instance-member-metaObjects">MetaScene#metaObjects</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.visible</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity is initially visible.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.culled</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity is initially culled from view.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.pickable</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity is initially pickable.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.clippable</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity is initially clippable.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.collidable</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity is initially included in boundary calculations.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.castsShadow</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity initially casts shadows.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.receivesShadow</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: true</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity initially receives shadows.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.xrayed</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity is initially xrayed. XRayed appearance is configured by <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-xrayMaterial">SceneModel#xrayMaterial</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.highlighted</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity is initially highlighted. Highlighted appearance is configured by <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-highlightMaterial">SceneModel#highlightMaterial</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.selected</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity is initially selected. Selected appearance is configured by <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-selectedMaterial">SceneModel#selectedMaterial</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.edges</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Indicates if the SceneModelEntity&apos;s edges are initially emphasized. Edges appearance is configured by <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-edgeMaterial">SceneModel#edgeMaterial</a></span>.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="class/src/viewer/scene/model/SceneModelEntity.js~SceneModelEntity.html">SceneModelEntity</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>The new SceneModelEntity.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-method-createGeometry">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">createGeometry</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2297">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Creates a reusable geometry within this SceneModel.</p>
<p>We can then supply the geometry ID to <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createMesh">SceneModel#createMesh</a></span> when we want to create meshes that
instance the geometry.</p>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Geometry properties.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Mandatory ID for the geometry, to refer to with <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createMesh">SceneModel#createMesh</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.primitive</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>The primitive type. Accepted values are &apos;points&apos;, &apos;lines&apos;, &apos;triangles&apos;, &apos;solid&apos; and &apos;surface&apos;.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.positions</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of uncompressed 3D vertex positions positions. Required for all primitive types. Overridden by <code>positionsCompressed</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.positionsCompressed</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of quantized 3D vertex positions. Overrides <code>positions</code>, and must be accompanied by <code>positionsDecodeMatrix</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.positionsDecodeMatrix</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>A 4x4 matrix for decompressing <code>positionsCompressed</code>. Must be accompanied by <code>positionsCompressed</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.normals</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of normal vectors. Only used with &quot;triangles&quot;, &quot;solid&quot; and &quot;surface&quot; primitives. When no normals are given, the geometry will be flat shaded using auto-generated face-aligned normals.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.normalsCompressed</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of oct-encoded normal vectors. Overrides <code>normals</code>. Only used with &quot;triangles&quot;, &quot;solid&quot; and &quot;surface&quot; primitives. When no normals are given, the geometry will be flat shaded using auto-generated face-aligned normals.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.colors</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of uncompressed RGBA vertex colors, as float values in range <code>[0..1]</code>. Ignored when <code>geometryId</code> is given. Overridden by <code>color</code> and <code>colorsCompressed</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.colorsCompressed</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of compressed RGBA vertex colors, as unsigned short integers in range <code>[0..255]</code>. Ignored when <code>geometryId</code> is given. Overrides <code>colors</code> and is overridden by <code>color</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.uv</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of uncompressed vertex UV coordinates. Only used with &quot;triangles&quot;, &quot;solid&quot; and &quot;surface&quot; primitives. Required for textured rendering.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.uvCompressed</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of compressed vertex UV coordinates. Only used with &quot;triangles&quot;, &quot;solid&quot; and &quot;surface&quot; primitives. Overrides <code>uv</code>. Must be accompanied by <code>uvDecodeMatrix</code>. Only used with &quot;triangles&quot;, &quot;solid&quot; and &quot;surface&quot; primitives. Required for textured rendering.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.uvDecodeMatrix</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>A 3x3 matrix for decompressing <code>uvCompressed</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.indices</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Array of primitive connectivity indices. Not required for <code>points</code> primitives.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.edgeIndices</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Array of edge line indices. Used only with &apos;triangles&apos;, &apos;solid&apos; and &apos;surface&apos; primitives. Automatically generated internally if not supplied, using the optional <code>edgeThreshold</code> given to the <code>SceneModel</code> constructor.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-method-createMesh">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">createMesh</span><span class="code" data-ice="signature">(cfg: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span>): <span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2741">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Creates a new <span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span> within this SceneModel.</p>
<ul>
<li>It prepares and saves data for a SceneModelMesh <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-meshes">SceneModel#meshes</a></span> creation. SceneModelMesh will be created only once the SceneModelEntity (which references this particular SceneModelMesh) will be created.</li>
<li>The SceneModelMesh can either define its own geometry or share it with other SceneModelMeshes. To define own geometry, provide the
various geometry arrays to this method. To share a geometry, provide the ID of a geometry created earlier
with <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createGeometry">SceneModel#createGeometry</a></span>.</li>
<li>If you accompany the arrays with an  <code>origin</code>, then <code>createMesh()</code> will assume
that the geometry <code>positions</code> are in relative-to-center (RTC) coordinates, with <code>origin</code> being the
origin of their RTC coordinate system.</li>
</ul>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">object</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Object properties.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Mandatory ID for the new mesh. Must not clash with any existing components within the <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.textureSetId</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>ID of a <span><a href="class/src/viewer/scene/model/SceneModelTextureSet.js~SceneModelTextureSet.html">SceneModelTextureSet</a></span> previously created with <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTextureSet">SceneModel#createTextureSet</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.transformId</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>ID of a <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span> to instance, previously created with <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTransform">SceneModel#createTransform</a></span>. Overrides all other transform parameters given to this method.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.geometryId</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>ID of a geometry to instance, previously created with <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createGeometry">SceneModel#createGeometry</a></span>. Overrides all other geometry parameters given to this method.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.primitive</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>The primitive type. Accepted values are &apos;points&apos;, &apos;lines&apos;, &apos;triangles&apos;, &apos;solid&apos; and &apos;surface&apos;.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.positions</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of uncompressed 3D vertex positions positions. Required for all primitive types. Overridden by <code>positionsCompressed</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.positionsCompressed</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of quantized 3D vertex positions. Overrides <code>positions</code>, and must be accompanied by <code>positionsDecodeMatrix</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.positionsDecodeMatrix</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>A 4x4 matrix for decompressing <code>positionsCompressed</code>. Must be accompanied by <code>positionsCompressed</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.normals</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of normal vectors. Only used with &quot;triangles&quot;, &quot;solid&quot; and &quot;surface&quot; primitives. When no normals are given, the geometry will be flat shaded using auto-generated face-aligned normals.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.normalsCompressed</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of oct-encoded normal vectors. Overrides <code>normals</code>. Only used with &quot;triangles&quot;, &quot;solid&quot; and &quot;surface&quot; primitives. When no normals are given, the geometry will be flat shaded using auto-generated face-aligned normals.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.colors</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of uncompressed RGBA vertex colors, as float values in range <code>[0..1]</code>. Ignored when <code>geometryId</code> is given. Overridden by <code>color</code> and <code>colorsCompressed</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.colorsCompressed</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of compressed RGBA vertex colors, as unsigned short integers in range <code>[0..255]</code>. Ignored when <code>geometryId</code> is given. Overrides <code>colors</code> and is overridden by <code>color</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.uv</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of uncompressed vertex UV coordinates. Only used with &quot;triangles&quot;, &quot;solid&quot; and &quot;surface&quot; primitives. Required for textured rendering.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.uvCompressed</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Flat array of compressed vertex UV coordinates. Only used with &quot;triangles&quot;, &quot;solid&quot; and &quot;surface&quot; primitives. Overrides <code>uv</code>. Must be accompanied by <code>uvDecodeMatrix</code>. Only used with &quot;triangles&quot;, &quot;solid&quot; and &quot;surface&quot; primitives. Required for textured rendering.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.uvDecodeMatrix</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>A 3x3 matrix for decompressing <code>uvCompressed</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.indices</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Array of primitive connectivity indices. Not required for <code>points</code> primitives.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.edgeIndices</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Array of edge line indices. Used only with &apos;triangles&apos;, &apos;solid&apos; and &apos;surface&apos; primitives. Automatically generated internally if not supplied, using the optional <code>edgeThreshold</code> given to the <code>SceneModel</code> constructor.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.origin</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Optional geometry origin, relative to <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-origin">SceneModel#origin</a></span>. When this is given, then <code>positions</code> are assumed to be relative to this.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.position</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [0,0,0]</li></ul></td>
      <td data-ice="description"><p>Local 3D position of the mesh. Overridden by <code>transformId</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.scale</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [1,1,1]</li></ul></td>
      <td data-ice="description"><p>Scale of the mesh.  Overridden by <code>transformId</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.rotation</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [0,0,0]</li></ul></td>
      <td data-ice="description"><p>Rotation of the mesh as Euler angles given in degrees, for each of the X, Y and Z axis.  Overridden by <code>transformId</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.quaternion</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Rotation of the mesh as a quaternion.  Overridden by <code>rotation</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.matrix</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]</li></ul></td>
      <td data-ice="description"><p>Mesh modelling transform matrix. Overrides the <code>position</code>, <code>scale</code> and <code>rotation</code> parameters. Also  overridden by <code>transformId</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.color</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [1,1,1]</li></ul></td>
      <td data-ice="description"><p>RGB color in range <code>[0..1, 0..1, 0..1]</code>. Overridden by texture set <code>colorTexture</code>. Overrides <code>colors</code> and <code>colorsCompressed</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.opacity</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Opacity in range <code>[0..1]</code>. Overridden by texture set <code>colorTexture</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.metallic</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 0</li></ul></td>
      <td data-ice="description"><p>Metallic factor in range <code>[0..1]</code>. Overridden by texture set <code>metallicRoughnessTexture</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.roughness</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: 1</li></ul></td>
      <td data-ice="description"><p>Roughness factor in range <code>[0..1]</code>. Overridden by texture set <code>metallicRoughnessTexture</code>.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>The new mesh.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-method-createQuantizationRange">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">createQuantizationRange</span><span class="code" data-ice="signature">(cfg: <span>*</span>)</span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2255">source</a></span></span>
    </span>
  </h3>

  
  
  
  

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"></td>
    </tr>
</tbody>
  </table>
</div>
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-method-createTexture">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">createTexture</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span>*</span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2424">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Creates a texture within this SceneModel.</p>
<p>We can then supply the texture ID to <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTextureSet">SceneModel#createTextureSet</a></span> when we want to create texture sets that use the texture.</p>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Texture properties.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Mandatory ID for the texture, to refer to with <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTextureSet">SceneModel#createTextureSet</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.src</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Image file for the texture. Assumed to be transcoded if not having a recognized image file
extension (jpg, jpeg, png etc.). If transcoded, then assumes <code>SceneModel</code> is configured with a <span><a href="class/src/viewer/scene/utils/textureTranscoders/TextureTranscoder.js~TextureTranscoder.html">TextureTranscoder</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.buffers</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer">ArrayBuffer</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>Transcoded texture data. Assumes <code>SceneModel</code> is
configured with a <span><a href="class/src/viewer/scene/utils/textureTranscoders/TextureTranscoder.js~TextureTranscoder.html">TextureTranscoder</a></span>. This parameter is given as an array of buffers so we can potentially support multi-image textures, such as cube maps.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.image</td>
      <td data-ice="type" class="code"><span>HTMLImageElement</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>HTML Image object to load into this texture. Overrides <code>src</code> and <code>buffers</code>. Never transcoded.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.minFilter</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: LinearMipmapLinearFilter</li></ul></td>
      <td data-ice="description"><p>How the texture is sampled when a texel covers less than one pixel.
Supported values are <span><a href="variable/index.html#static-variable-LinearMipmapLinearFilter">LinearMipmapLinearFilter</a></span>, <span><a href="variable/index.html#static-variable-LinearMipMapNearestFilter">LinearMipMapNearestFilter</a></span>, <span><a href="variable/index.html#static-variable-NearestMipMapNearestFilter">NearestMipMapNearestFilter</a></span>, <span><a href="variable/index.html#static-variable-NearestMipMapLinearFilter">NearestMipMapLinearFilter</a></span> and <span><a href="variable/index.html#static-variable-LinearMipMapLinearFilter">LinearMipMapLinearFilter</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.magFilter</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: LinearFilter</li></ul></td>
      <td data-ice="description"><p>How the texture is sampled when a texel covers more than one pixel. Supported values are <span><a href="variable/index.html#static-variable-LinearFilter">LinearFilter</a></span> and <span><a href="variable/index.html#static-variable-NearestFilter">NearestFilter</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.wrapS</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: RepeatWrapping</li></ul></td>
      <td data-ice="description"><p>Wrap parameter for texture coordinate <em>S</em>. Supported values are <span><a href="variable/index.html#static-variable-ClampToEdgeWrapping">ClampToEdgeWrapping</a></span>, <span><a href="variable/index.html#static-variable-MirroredRepeatWrapping">MirroredRepeatWrapping</a></span> and <span><a href="variable/index.html#static-variable-RepeatWrapping">RepeatWrapping</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.wrapT</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: RepeatWrapping</li></ul></td>
      <td data-ice="description"><p>Wrap parameter for texture coordinate <em>T</em>. Supported values are <span><a href="variable/index.html#static-variable-ClampToEdgeWrapping">ClampToEdgeWrapping</a></span>, <span><a href="variable/index.html#static-variable-MirroredRepeatWrapping">MirroredRepeatWrapping</a></span> and <span><a href="variable/index.html#static-variable-RepeatWrapping">RepeatWrapping</a></span>..</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.wrapR</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: RepeatWrapping</li></ul></td>
      <td data-ice="description"><p>Wrap parameter for texture coordinate <em>R</em>. Supported values are <span><a href="variable/index.html#static-variable-ClampToEdgeWrapping">ClampToEdgeWrapping</a></span>, <span><a href="variable/index.html#static-variable-MirroredRepeatWrapping">MirroredRepeatWrapping</a></span> and <span><a href="variable/index.html#static-variable-RepeatWrapping">RepeatWrapping</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.flipY</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: false</li></ul></td>
      <td data-ice="description"><p>Flips this Texture&apos;s source data along its vertical axis when <code>true</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.encoding</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: LinearEncoding</li></ul></td>
      <td data-ice="description"><p>Encoding format. Supported values are <span><a href="variable/index.html#static-variable-LinearEncoding">LinearEncoding</a></span> and <span><a href="variable/index.html#static-variable-sRGBEncoding">sRGBEncoding</a></span>.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span>*</span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-method-createTextureSet">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">createTextureSet</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2579">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Creates a texture set within this SceneModel.</p>
<ul>
<li>Stores the new <span><a href="class/src/viewer/scene/model/SceneModelTextureSet.js~SceneModelTextureSet.html">SceneModelTextureSet</a></span> in <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-textureSets">SceneModel#textureSets</a></span>.</li>
</ul>
<p>A texture set is a collection of textures that can be shared among meshes. We can then supply the texture set
ID to <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createMesh">SceneModel#createMesh</a></span> when we want to create meshes that use the texture set.</p>
<p>The textures can work as a texture atlas, where each mesh can have geometry UVs that index
a different part of the textures. This allows us to minimize the number of textures in our models, which
means faster rendering.</p>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Texture set properties.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Mandatory ID for the texture set, to refer to with <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createMesh">SceneModel#createMesh</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.colorTextureId</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>ID of <em>RGBA</em> base color texture, with color in <em>RGB</em> and alpha in <em>A</em>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.metallicRoughnessTextureId</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>ID of <em>RGBA</em> metal-roughness texture, with the metallic factor in <em>R</em>, and roughness factor in <em>G</em>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.normalsTextureId</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>ID of <em>RGBA</em> normal map texture, with normal map vectors in <em>RGB</em>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.emissiveTextureId</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>ID of <em>RGBA</em> emissive map texture, with emissive color in <em>RGB</em>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.occlusionTextureId</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>ID of <em>RGBA</em> occlusion map texture, with occlusion factor in <em>R</em>.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>The new texture set.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-method-createTransform">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">createTransform</span><span class="code" data-ice="signature">(cfg: <span>*</span>): <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber2669">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Creates a new <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span> within this SceneModel.</p>
<ul>
<li>Stores the new <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span> in <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-get-transforms">SceneModel#transforms</a></span>.</li>
<li>Can be connected into hierarchies</li>
<li>Each <span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span> can be used by unlimited <span><a href="class/src/viewer/scene/model/SceneModelMesh.js~SceneModelMesh.html">SceneModelMesh</a></span>es</li>
</ul>
</div>

  

  <div data-ice="properties"><div data-ice="properties">
  <h4 data-ice="title">Params:</h4>
  <table class="params">
    <thead>
    <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr>
    </thead>
    <tbody>
    
    <tr data-ice="property" data-depth="0">
      <td data-ice="name" class="code" data-depth="0">cfg</td>
      <td data-ice="type" class="code"><span>*</span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Transform creation parameters.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.id</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"></td>
      <td data-ice="description"><p>Mandatory ID for the new transform. Must not clash with any existing components within the <span><a href="class/src/viewer/scene/scene/Scene.js~Scene.html">Scene</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.parentTransformId</td>
      <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td>
      <td data-ice="appendix"><ul><li>optional</li></ul></td>
      <td data-ice="description"><p>ID of a parent transform, previously created with <span><a href="class/src/viewer/scene/model/SceneModel.js~SceneModel.html#instance-method-createTextureSet">SceneModel#createTextureSet</a></span>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.position</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [0,0,0]</li></ul></td>
      <td data-ice="description"><p>Local 3D position of the mesh. Overridden by <code>transformId</code>.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.scale</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [1,1,1]</li></ul></td>
      <td data-ice="description"><p>Scale of the transform.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.rotation</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [0,0,0]</li></ul></td>
      <td data-ice="description"><p>Rotation of the transform as Euler angles given in degrees, for each of the X, Y and Z axis.</p>
</td>
    </tr>
<tr data-ice="property" data-depth="1">
      <td data-ice="name" class="code" data-depth="1">cfg.matrix</td>
      <td data-ice="type" class="code"><span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span><span>[]</span></span></td>
      <td data-ice="appendix"><ul><li>optional</li>
<li>default: [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]</li></ul></td>
      <td data-ice="description"><p>Modelling transform matrix. Overrides the <code>position</code>, <code>scale</code> and <code>rotation</code> parameters.</p>
</td>
    </tr>
</tbody>
  </table>
</div>
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="class/src/viewer/scene/model/SceneModelTransform.js~SceneModelTransform.html">SceneModelTransform</a></span></td>
          <td class="return-desc" data-ice="returnDescription"><p>The new transform.</p>
</td>
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-method-destroy">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">destroy</span><span class="code" data-ice="signature">()</span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber3968">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Destroys this SceneModel.</p>
</div>

  <div data-ice="override"><h4>Override:</h4><span><a href="class/src/viewer/scene/Component.js~Component.html#instance-method-destroy">Component#destroy</a></span></div>

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-method-finalize">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">finalize</span><span class="code" data-ice="signature">()</span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber3572">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Finalizes this SceneModel.</p>
<p>Once finalized, you can&apos;t add anything more to this SceneModel.</p>
</div>

  

  <div data-ice="properties">
</div>

  

  

  

  

  

  

  

  
  
</div>
<div class="detail" data-ice="detail">
  <h3 data-ice="anchor" id="instance-method-preFinalize">
    <span class="access" data-ice="access">public</span>
    
    
    
    
    
    <span class="code" data-ice="name">preFinalize</span><span class="code" data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span>
    <span class="right-info">
      
      
      <span data-ice="source"><span><a href="file/src/viewer/scene/model/SceneModel.js.html#lineNumber3517">source</a></span></span>
    </span>
  </h3>

  
  
  
  <div data-ice="description"><p>Pre-renders all meshes that have been added, even if the SceneModel has not bee finalized yet.
This is use for progressively showing the SceneModel while it is being loaded or constructed.</p>
</div>

  

  <div data-ice="properties">
</div>

  <div class="return-params" data-ice="returnParams">
    <h4>Return:</h4>
    <table>
      <tbody>
        <tr>
          <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></td>
          
        </tr>
      </tbody>
    </table>
    <div data-ice="returnProperties">
</div>
  </div>

  

  

  

  

  

  

  
  
</div>
</div>
</div>

<footer class="footer">
  Generated by <a href="https://esdoc.org">ESDoc<span data-ice="esdocVersion">(1.1.0)</span><img src="./image/esdoc-logo-mini-black.png"></a>
</footer>

<script src="script/search_index.js"></script>
<script src="script/search.js"></script>
<script src="script/pretty-print.js"></script>
<script src="script/inherited-summary.js"></script>
<script src="script/test-summary.js"></script>
<script src="script/inner-link.js"></script>
<script src="script/patch-for-local.js"></script>
</body>
</html>
